abogdan/shelly

Shelly is a small library that lets you abstract your shell commands using PHP.

dev-master / 0.1.x-dev 2014-12-12 18:18 UTC

This package is not auto-updated.

Last update: 2024-04-23 07:14:09 UTC


README

Shelly is a small library that lets you abstract your shell commands using PHP.

Version

0.1.0

Installation

You need Composer to install the lib:

"require": {
        ...
        "abogdan/shelly": "dev-master",
        ...
    },
composer require abogdan/shelly:dev-master

Examples

use ABogdan\Shelly\Command\CompositeCommand;
use ABogdan\Shelly\Command\SimpleCommand;
use ABogdan\Shelly\Builder;
use ABogdan\Shelly\Executor;
$seq = new \PhpCollection\Sequence();

//simple example
$cat = new SimpleCommand('cat', [__FILE__]);
$executor = new Executor(new Builder());
$output = $executor->execute($cat);

//composite example
$find = new SimpleCommand('find', ['./tests/', '-name', 'Command*'], true);
$cat = new SimpleCommand('cat');
$grep = new SimpleCommand('grep', ['-r', PHP_EOL]);
$seq->add($find);
$seq->add($cat);
$seq->add($grep);
$output = $executor->execute($complex);

Todo's

  • Windows support
  • Better error handling
  • Better binary/executable finder
  • Better building strategy
  • ...

License

MIT