本文整理汇总了PHP中AppKernel::getModule方法的典型用法代码示例。如果您正苦于以下问题:PHP AppKernel::getModule方法的具体用法?PHP AppKernel::getModule怎么用?PHP AppKernel::getModule使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AppKernel
的用法示例。
在下文中一共展示了AppKernel::getModule方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
/**
* @param AppKernel $kernel
* @param \Zero\Component\Kernel\Container $app_container
* @throws \Exception
*/
public static function process(AppKernel $kernel, $app_container)
{
global $argv;
if (!isset($argv[1])) {
throw new \Exception("命令行第一个参数应该是需要调用的方法");
}
$controller = $argv[1];
if (strpos($controller, ':') === false) {
throw new \Exception("第一个参数错误,格式应该为<module_name>:<command_name>:<action_name>");
}
$arguments = array_splice($argv, 2);
try {
list($module_name, $command_name, $action_name) = explode(':', $controller);
$module = $kernel->getModule($module_name);
$command = $module->getCommand($command_name, $action_name);
if (method_exists($command, '__invoke')) {
/** @var \Symfony\Component\HttpFoundation\Response $response */
call_user_func_array($command, $arguments);
} else {
throw new \Exception('Command must has the __invoke public function!');
}
} catch (\Exception $e) {
throw $e;
}
}