shiyan / process-builder
Builds command lines for symfony/process using magic methods.
1.1.1
2025-07-18 12:06 UTC
Requires
- php: ^8.0
- ext-ctype: *
- symfony/process: ^5 || ^6 || ^7
Requires (Dev)
- phpunit/phpunit: ^12
This package is auto-updated.
Last update: 2025-07-18 12:09:18 UTC
README
Builds command lines for symfony/process using magic methods.
Best suited for use as a Composer library.
Requirements
- PHP ≥ 8.0
- symfony/process ≥ 5
Installation
To add this library to your Composer project:
composer require shiyan/process-builder
Usage examples
Using the ProcessBuilder
class:
use Shiyan\ProcessBuilder\ProcessBuilder;
$ls = new ProcessBuilder(app: 'ls', cwd: '~');
print $ls('-la'); // Prints the command output.
$ls->chDir('../'); // Changes the working directory, not the command argument.
print $ls('-la');
Using a class which extends the BaseProcessBuilder
:
use Shiyan\ProcessBuilder\Example\Git;
$git = new Git('/var/www');
if ($git->status('-z') != '') {
$git->add('--all');
$git->commit('-m', 'Some changes');
$git->push('origin', 'master');
}
By default, an underlying process runs automatically. This behavior can be changed:
use Shiyan\ProcessBuilder\ProcessBuilder;
$ls = new ProcessBuilder('ls');
$ls->setAutoRun(FALSE);
$process = $ls('-la');