PHP runtime execute command library
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist johnitvn/cli-runtime "*"
or add
"johnitvn/cli-runtime": "*"
to the require section of your composer.json
file.
- Create processor
$workingdir = 'path/to/working_dir';
$process = new johnitvn\cliruntime\CliRuntimeProcess($workingdir);
If you set working dir is null in CliRuntimeProcess constructor current working dir will be path of file call CliRuntimeProcess
- Run command without return and display ouput
$process->run('echo Hello');
- Run command with capture output
$output = array();
$process->runCapture('echo Hello',$output);
var_dump($output);
As example reference variable $ouput will get command output lines as array
- Run command with display out put
$process->runDisplayOutput('echo Hello');
runDisplayout()
will be run command and display out
- Command Builder
You can use
johnitvn\cliruntime\CommandBuidler
as utility for create command
Below is simple example with CommandBuilder:
$command = new johnitvn\cliruntime\CommandBuidler('echo');
$command->addParam('Hello world');
echo $command->getCommand();
and the result is:
echo Hello world
You can see below code snippet for understand how to use CommandBuilder class
$builder = new CommandBuidler('phpunit');
$builder->addFlag('v')
->addArgument('stop-on-failure')
->addArgument('configuration', 'phpunit.xml')
->addParam('TestCase.php');
echo $builder->getCommand();
And the result is:
phpunit TestCase.php -v --stop-on-failure --configuration=phpunit.xml
- CommandFinder (since version 1.0.2)
You can use
johnitvn\cliruntime\CommandFinder
as utility for finder real path of command under system environment variable
use johnitvn\cliruntime\CommandFinder;
$realCommand = CommandFinder::findCommand('composer');
echo $realCommand;
And result look like: C:\\xampp\php\composer
You can see the class comment for more detail about usage