saxulum/saxulum-console

Saxulum Console Provider

Installs: 2 007

Dependents: 8

Stars: 1

Watchers: 1

Forks: 1

Language: PHP

3.1.0 2015-04-01 05:23 UTC

README

works with plain silex-php

Build Status Total Downloads Latest Stable Version Scrutinizer Code Quality

Features

  • Add symfony console

Requirements

  • PHP 5.3+
  • Pimple 2.1+
  • Saxulum ClassFinder 1.0+
  • Symfony Console 2.3+
  • Symfony Finder 2.3+

Installation

Through Composer as saxulum/saxulum-console.

$container->register(new ConsoleProvider());

With translation cache (faster)

use Pimple\Container;
use Saxulum\Console\Silex\Provider\ConsoleProvider;

$container = new Container();
$container->register(new ConsoleProvider(), array(
    'console.cache' => '/path/to/cache'
));
  • debug == true: the cache file will be build at each load
  • debug == false: the cache file will be build if not exists, delete it if its out of sync

Without translation cache (slower)

use Pimple\Container;
use Saxulum\Console\Silex\Provider\ConsoleProvider;

$container = new Container();
$container->register(new ConsoleProvider());

Usage

Register a command

$container['console.commands'] = $container->extend('console.commands', function ($commands) use ($container) {
    $command = new SampleCommand;
    $command->setContainer($container);
    $commands[] = $command;

    return $commands;
});

Register a path

One of their parent classes has to be: Saxulum\Console\Command\AbstractPimpleCommand

$container['console.command.paths'] = $container->extend('console.command.paths', function ($paths) {
    $paths[] = __DIR__ . '/../../Command';

    return $paths;
});

Run the console

$container['console']->run();

Copyright