corpnet/console

console service provider for Silex

v2.1.0 2017-07-18 01:00 UTC

This package is not auto-updated.

Last update: 2024-12-14 18:32:25 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

Default commands

The service provider will register the following commands if the corresponding Symfony components are installed:

  • From symfony/twig-bridge, the lint:twig and debug:twig commands
  • From symfony/yaml, the lint: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.

Recipes