task / task
PHP task runner
Installs: 17 374
Dependents: 12
Suggesters: 0
Security: 0
Stars: 183
Watchers: 13
Forks: 15
Open Issues: 4
Requires
- php: >=5.4.0
- pimple/pimple: ~2.0
- symfony/console: ~2.4
- task/console: ~0.3
Requires (Dev)
- bossa/phpspec2-expect: ~1.0
- henrikbjorn/phpspec-code-coverage: dev-feature/multiple-reports@dev
- mikey179/vfsstream: ~1.2
- task/phpspec: ~0.1
README
Got a PHP project? Heard of Grunt and Gulp but don't use NodeJS? Task is a pure PHP task runner.
- Leverage PHP as a scripting language, and as your platform of choice.
- Use loads of nice features inspired by Grunt and Gulp (and Phing).
- Employ Symfony components for effortless CLI goodness.
- Extend with plugins.
For more information and documentation goto taskphp.github.io, or tweet us at @taskphp.
Example
<?php use Task\Plugin; require 'vendor/autoload.php'; $project = new Task\Project('wow'); $project->inject(function ($container) { $container['phpspec'] = new Plugin\PhpSpecPlugin; $container['fs'] = new Plugin\FilesystemPlugin; $container['sass'] = (new Plugin\Sass\ScssPlugin) ->setPrefix('sass'); $container['watch'] = new Plugin\WatchPlugin; }); $project->addTask('greet', function () { $this->getOutput()->writeln('Hello, World!'); }); $project->addTask('test', ['phpspec', function ($phpspec) { $phpspec->command('run') ->setFormat('pretty') ->setVerbose(true) ->pipe($this->getOutput()); }]); $project->addTask('css', ['fs', 'sass', function ($fs, $sass) { fs->open('my.scss') ->pipe($sass) ->pipe($fs->touch('my.css')); }]); $project->addTask('css.watch', ['watch', function ($watch) { $watch->init('my.scss') ->addListener('modify', function ($event) { $this->runTask('css', $this->getOutput()); }) ->start(); }]); return $project;
$> task greet Hello, World! $> task test Task\Injector 17 ✔ is initializable 22 ✔ should call function with services Task\Project 10 ✔ is initializable 20 ✔ should have a container 26 ✔ should resolve no dependencies 32 ✔ should resolve one dependency 39 ✔ should resolve many dependencies 50 ✔ should normalize dependencies 58 ✔ should normalize complex dependencies 2 specs 9 examples (9 passed) 29ms