Disabling Silex controllers execution
When enriching a classic web Silex application w/ a Cilex Console Service Provider, the following listing shows how to disable the web-facing controllers when using the application in CLI mode by utilising PHP's PHP_SAPI constant.
<?php
use Acme\Console\Command,
Cilex\Provider\Console\Adapter\Silex\ConsoleServiceProvider,
Silex\Application;
require_once __DIR__ . '/../vendor/autoload.php';
$app = new Application;
// Omitted Silex route definitions
// Console Service Provider and command-line commands
$app->register(new ConsoleServiceProvider(), array(
'console.name' => 'MyApp',
'console.version' => '1.0.5',
));
$commands = array(
new Command\XyzInfoCommand(),
new Command\XyzSnapshotCommand(),
);
foreach ($commands as $command) {
$app['console']->add($command);
}
if (PHP_SAPI !== 'cli') {
$app->run();
} else {
$app['console']->run();
}
Written by Raphael Stolt
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Php
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#