Simple php command executor with param binding.
Via Composer
$ composer require pastuhov/php-exec-command
- light weight
- param binding
- throws an exception if return status >0
- redirect stderr to stdout if needed
$output = Command::exec(
'echo {phrase}',
[
'phrase' => 'hello'
]
);
// $output = 'hello'
or
$output = Command::exec(
'echo {phrase}',
[
'phrase' => [
'hello',
'world'
]
]
);
// $output = 'hello world'
or
try {
Command::exec('locate {parody}',
[
'parody' => [
'pink_unicorn'
]
]
);
echo "unicorn was found!";
} catch (\pastuhov\Command\CommandException $e) {
echo "can't find unicorn :(";
}
By default, all arguments are escaped using
escapeshellarg.
If you need to pass unescaped arguments, use {!name!}
, like so:
Command::exec('echo {!path!}', ['path' => '$PATH']);
$ composer test
or
$ phpunit
If you discover any security related issues, please email kirill@pastukhov.su instead of using the issue tracker.
GNU General Public License, version 2. Please see License File for more information.