Desativando a execução de controladores Silex

Ao enriquecer um aplicativo Silex clássico da web com um provedor de serviços Cilex Console , a lista a seguir mostra como desabilitar os controladores voltados para a web ao usar o aplicativo no modo CLI utilizando a constante PHP_SAPI do PHP .

<?php
use AcmeConsoleCommand,
CilexProviderConsoleAdapterSilexConsoleServiceProvider,
SilexApplication;

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 CommandXyzInfoCommand(),
new CommandXyzSnapshotCommand(),
);

foreach ($commands as $command) {
$app
['console']->add($command);
}

if (PHP_SAPI !== 'cli') {
$app
->run();
} else {
$app
['console']->run();
}