noir / phpsh
Generate shell scripts from PHP with ease
1.8
2024-06-08 09:16 UTC
Requires
- php: ^8.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^10.0
- sebastian/diff: ^5.0
- vimeo/psalm: ^5.0
README
Installation
You can install the package via composer:
composer require noir/phpsh
Why?
If writing shell scripts makes you uncomfortable because it feels like an encrypted alien language, PhpSh is for you.
Examples
use NoirApi\Phpsh\Condition; use NoirApi\Phpsh\Script; $condition = Condition::create('$i')->lessThan(10); (new Script()) ->set('i', 0) ->while($condition, function (Script $script){ $script->echo('$i'); $script->increment('i'); }) ->generate();
The above example code will generate a shell executable script like this:
i=0 while [ $i -lt 10 ]; do echo -n $i let i+=1 done
Don't know how to do "if a file exists and is writable then do something"? PhpSh got your back!
$condition = Condition::create() ->fileExists('/path/to/file') ->and() ->writable('/path/to/file'); (new Script()) ->if($condition, function (Script $script){ $script->printf("File found\n"); })->else(function (Script $script){ $script->printf("Oops!\n"); }) ->generate();
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email nazmulpcc [at] gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.