knplabs / console-service-provider
console service provider for Silex
Installs: 1 361 455
Dependents: 35
Suggesters: 3
Security: 0
Stars: 106
Watchers: 34
Forks: 37
Open Issues: 2
Requires
- php: >=5.5.9
- silex/silex: ~2.0
- symfony/console: ^2.3|^3.0|^4.0
Requires (Dev)
- symfony/monolog-bridge: ^3.2|^4.0
- symfony/phpunit-bridge: ^3.2|^4.0
- symfony/twig-bridge: ~2.8|^3.0|^4.0
- symfony/web-server-bundle: ^3.3|^4.0
- symfony/yaml: ^2.8|^3.0|^4.0
- twig/twig: ~1.27|~2.0
This package is not auto-updated.
Last update: 2022-10-06 23:30:37 UTC
README
Unfortunately we decided to not maintain this project anymore (see why). If you want to mark another package as a replacement for this one please send an email to hello@knplabs.com.
ConsoleServiceProvider
Provides a Symfony\Component\Console
based console for Silex 2.x.
Installation
Add knplabs/console-service-provider
to your composer.json
and register the service provider:
composer require knplabs/console-service-provider
use Knp\Provider\ConsoleServiceProvider; $app->register(new ConsoleServiceProvider());
You can now copy the console
executable from the bin
folder to whatever
place you see fit, and tweak it to your needs.
You will need a way to fetch your silex application, the most common way is to return it from your bootstrap file:
use Knp\Provider\ConsoleServiceProvider; use Silex\Application; $app = new Application(); $app->register(new ConsoleServiceProvider()); $app->register(new SomeOtherServiceProvider()); return $app;
For the rest of this documentation, we will assume you do have a bin
directory, so the console
executable will be located at bin/console
.
Usage
Use the console just like any Symfony\Component\Console
based console:
$ bin/console my:command
or on Windows:
$ php bin/console my:command
Configuration parameters
Parameter | Default | Description |
---|---|---|
console.name (string) |
Silex console | Name of your console application |
console.version (string) |
UNKNOWN | Version of your console application |
console.project_directory (string) |
(auto-detected) | Your project's directory path. The default value should work, assuming the provider is installed in vendor/knplabs/console-service-provider |
console.class (string) |
Knp\Console\Application | Class name of the console service |
console.boot_in_constructor (bool) |
false | Whether the console should boot Silex when loaded (set it to true if you depend on a bug that was fixed in 2.1) |
console.command.ids (array) |
array() | Console commands registered as services |
Default commands
The service provider will register the following commands if the corresponding Symfony components are installed:
- From
symfony/twig-bridge
, thelint:twig
anddebug:twig
commands - From
symfony/yaml
, thelint:yaml
command
Web-server-bundle support
The WebServerServiceProvider
will register the commands provided by symfony/web-server-bundle
.
$app = new Silex\Application(); $app->register(new Knp\Provider\ConsoleServiceProvider()); $app->register(new Knp\Provider\WebServerServiceProvider(), array( // Folder that contains your front controller/public files 'web_server.document_root' => __DIR__.'/../public', ));
The server commands expect your front controller to be located in your
document root and be called app_dev.php
, app.php
, index_dev.php
or index.php
.
For more information, please consult the Symfony documentation.