Skip to content
This repository has been archived by the owner on Apr 20, 2018. It is now read-only.

saxulum-legacy/saxulum-console

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

saxulum-console

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