scabbiafw / scabbia2-tasks
Scabbia2 Tasks Component
Requires
- php: >=5.6.0
- scabbiafw/scabbia2-formatters: *
Requires (Dev)
This package is not auto-updated.
Last update: 2022-02-01 12:51:05 UTC
README
This component provides an command line tool named scabbia
and Scabbia\Tasks\TaskBase
base class to help users create specific tasks with them. These tasks can be started in source code or command line.
Usage
Custom Task
namespace MyProject; use Scabbia\Tasks\TaskBase; use Scabbia\Formatters\FormatterInterface; class MyTaskTask extends TaskBase { public function executeTask(array $parameters, FormatterInterface $formatter) { $formatter->write('task is executed, with parameters:'); $formatter->writeArray($parameters); } public function help(FormatterInterface $formatter) { $formatter->write('help'); } }
scabbia myProject:myTask
command will execute your task. Also scabbia help myProject:myTask
displays the help you've provided.
You can also create your custom command line app, just refer to vendor/bin/scabbia
.
Running Tasks at Runtime
use Scabbia\Tasks\Tasks; Tasks::run('myProject:myTask', ['parameter1', 'parameter2']);
Registering namespaces for commands
use Scabbia\Tasks\Tasks; Tasks::$namespaces[] = 'MyProject';
Therefore scabbia myTask
will be sufficent to execute your task.
Links
Contributing
It is publicly open for any contribution. Bugfixes, new features and extra modules are welcome. All contributions should be filed on the eserozvataf/scabbia2-tasks repository.