2017 © Pedro Peláez
 

library console-service-provider

console service provider for Silex

image

kron0s/console-service-provider

console service provider for Silex

  • Tuesday, May 12, 2015
  • by Kron0S
  • Repository
  • 1 Watchers
  • 0 Stars
  • 14 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 39 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

ConsoleServiceProvider

Provides a Symfony\Component\Console based console for Silex., (*1)

Install

Add knplabs/console-service-provider to your composer.json and register the service:, (*2)

register(new ConsoleServiceProvider(), array(
    'console.name'              => 'MyApplication',
    'console.version'           => '1.0.0',
    'console.project_directory' => __DIR__.'/..'
));

?>

You can now copy the console executable in 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:, (*3)


For the rest of this document, we will assume you do have an app directory, so the console executable will be located at app/console., (*4)

Usage

Use the console just like any Symfony\Component based console:, (*5)

$ app/console my:command

Write commands

Your commands should extend Knp\Command\Command to have access to the 2 useful following commands:, (*6)

  • getSilexApplication, which returns the silex application
  • getProjectDirectory, which returns your project's root directory (as configured earlier)

I know, it's a lot to learn, but it's worth the pain., (*7)

Register commands

There are two ways of registering commands to the console application., (*8)

Directly access the console application from the console executable

Open up app/console, and stuff your commands directly into the console application:, (*9)

#!/usr/bin/env php
add(new MyCommand());
$application->run();

?>

Use the Event Dispatcher

This way is intended for use by provider developers and exposes an unobstrusive way to register commands in 3 simple steps:, (*10)

  1. Register a listener to the ConsoleEvents::INIT event
  2. ???
  3. PROFIT!

Example:, (*11)

addListener(ConsoleEvents::INIT, function(ConsoleEvent $event) {
    $app = $event->getApplication();
    $app->add(new MyCommand());            
});

?>

The Versions

12/05 2015

dev-master

9999999-dev http://knplabs.com

console service provider for Silex

  Sources   Download

MIT

The Requires

 

console silex

13/06 2013

v1.0

1.0.0.0 http://knplabs.com

console service provider for Silex

  Sources   Download

MIT

The Requires

 

console silex