https://github.com/mikeshiyan/process-builder
Builds command lines for symfony/process using magic methods.
https://github.com/mikeshiyan/process-builder
cmd composer exec oop php process shell
Last synced: 4 months ago
JSON representation
Builds command lines for symfony/process using magic methods.
- Host: GitHub
- URL: https://github.com/mikeshiyan/process-builder
- Owner: mikeshiyan
- License: mit
- Created: 2019-06-16T14:57:49.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-07-18T12:09:16.000Z (11 months ago)
- Last Synced: 2025-10-27T22:54:52.904Z (8 months ago)
- Topics: cmd, composer, exec, oop, php, process, shell
- Language: PHP
- Size: 21.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Process Builder
Builds command lines for symfony/process using magic methods.
Best suited for use as a [Composer](https://getcomposer.org) library.
## Requirements
* PHP ≥ 8.0
* [symfony/process](https://github.com/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');
```