本文整理汇总了PHP中Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand::getContainer方法的典型用法代码示例。如果您正苦于以下问题:PHP ContainerAwareCommand::getContainer方法的具体用法?PHP ContainerAwareCommand::getContainer怎么用?PHP ContainerAwareCommand::getContainer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand
的用法示例。
在下文中一共展示了ContainerAwareCommand::getContainer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* 呼び出し元のコントローラーから呼び出すモデルを判定しrun()を実行します。
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
// 実行中チェック
$name = sprintf('%s.%s', $this->getName(), $input->getArgument('service'));
$this->getContainer()->get('lib.command.manager')->createExecuting($name);
$serviceName = $input->getArgument('service');
$controllerClass = get_class($this);
// サービスのディレクトリ
$serviceDir = preg_replace('/Command$/', '', basename(str_replace('\\', '/', $controllerClass)));
// サービスのクラス名
$clazz = '';
foreach (explode('-', $serviceName) as $_word) {
$clazz .= ucwords($_word);
}
if ($clazz === '') {
throw new IllegalArgumentException('serviceが指定されていません。');
}
$tmp = sprintf('Service\\%s\\%s', $serviceDir, $clazz);
$classPath = preg_replace('/Command.*Command$/', $tmp, $controllerClass);
$service = new $classPath(parent::getContainer(), $this, $input, $output);
if (is_null($service)) {
throw new \ErrorException('Service is not found.');
}
$response = $service->run();
// 実行中チェックを削除
$this->getContainer()->get('lib.command.manager')->removeExecuting($name);
return $response;
}
示例2: getContainer
/**
* @inheritdoc
*/
protected function getContainer()
{
return parent::getContainer();
}