PHP Classes

File: bin/console

Recommend this page to a friend!
  Classes of Rafael Espinosa   Silex Enhanced   bin/console   Download  
File: bin/console
Role: Example script
Content type: text/plain
Description: Auxiliary data
Class: Silex Enhanced
Silex with custom services providers.
Author: By
Last change: Bootstrap services configuration
Initialized repository with application skeleton and demo files.
Date: 8 years ago
Size: 2,138 bytes
 

Contents

Class file image Download
#!/usr/bin/env php
<?php
/**
 * PHP version ~5.5
 *
 * @category Application
 * @package Application
 * @author Rafael Ernesto Espinosa Santiesteban <ralphlnx@gmail.com>
 * @license MIT <http://www.opensource.org/licenses/mit-license.php>
 * @link http://fluency.inc.com
 */

if (!defined('BASEPATH')) {
   
define('BASEPATH', realpath(__DIR__ . '/../'));
}

require_once
BASEPATH . '/vendor/autoload.php';

$app = new \Fluency\Silex\Application();

// Load configurations
$app->register(
    new \
Fluency\Silex\Provider\YamlConfigServiceProvider(
        array(
           
'%base_path%' => BASEPATH, '%log_path%' => BASEPATH . '/var/logs',
           
'%cache_path%' => BASEPATH . '/var/cache'
       
)
    ),
    array(
       
'config.dir' => BASEPATH . '/app/Resources/config',
       
'config.files' => array('console.yml', 'services.yml'),
    )
);

//Set debug option
$app['debug'] = $app['config']['parameters']['debug'];

//Set Timezone
if (isset($app['config']['parameters']['timezone'])) {
   
date_default_timezone_set($app['config']['parameters']['timezone']);
}

// If you don't like this way you can register providers manually.
foreach ($app['config']['service_providers'] as $serviceProviderConfig) {
   
$app->register(
        new
$serviceProviderConfig['class'](
            (!isset(
$serviceProviderConfig['construct_parameters'])) ?
           
null:$serviceProviderConfig['construct_parameters']
        ),
        (isset(
$serviceProviderConfig['parameters'])
            &&
null !== $serviceProviderConfig['parameters']
        ) ?
       
$serviceProviderConfig['parameters'] : array()
    );
}

foreach (
$app['config']['commands'] as $commandConfig) {
   
$commandInstance = new $commandConfig['class'];
   
$app['console']->add($commandInstance);
   
$app['dispatcher']->dispatch(
        \
Fluency\Silex\Console\Events::COMMAND_LOADED,
        new \
Symfony\Component\Console\Event\ConsoleEvent(
           
$commandInstance,
            new
Symfony\Component\Console\Input\ArrayInput(array()),
            new
Symfony\Component\Console\Output\ConsoleOutput()
        )
    );
}

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