Cli Application
You can create CLI application with Peak\Bedrock\Cli\Application
.
Internally, it use symfony/console
and symfony/process
.
The advantages of this wrapper over direct implementation with symfony/console
is that it give you PSR-11 support, bootstrapping and configuration.
cli.php
example:
namespace {
use Peak\Bedrock\Cli\Application;
use Peak\Bedrock\Kernel;
use Peak\Collection\PropertiesBag;
use Peak\Di\Container;
require '../vendor/autoload.php';
$kernel = new Kernel('dev', new Container());
$app = new Application($kernel, new PropertiesBag([
'name' => 'My Cli Application',
'version' => '1.0',
]));
try {
$app->add([
MyCommand::class
])
$app->run();
} catch (\Exception $e) {
echo $e->getMessage();
}
}
Run commands with:
$ php cli.php [command]
You can access to symfony console instance with method console()
$app->console()->setDefaultCommand('...');
Visit the official Symfony Console Documentation for more infos on commands and others helpers.