corpnet / console
console service provider for Silex
Installs: 23
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 37
pkg:composer/corpnet/console
Requires
- php: >=5.5.9
- silex/silex: ~2.0
- symfony/console: ~2.3|~3.0
Requires (Dev)
- symfony/monolog-bridge: ^3.2
- symfony/phpunit-bridge: ^3.2
- symfony/twig-bridge: ~2.8|^3.0
- symfony/web-server-bundle: ^3.3
- symfony/yaml: ^2.8|^3.0
- twig/twig: ~1.27|~2.0
This package is not auto-updated.
Last update: 2025-10-18 22:33:37 UTC
README
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 trueif 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:twiganddebug:twigcommands
- From symfony/yaml, thelint:yamlcommand
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.