在Symfony2命令中设置退出状态代码的正确方法是什么?
在纯PHP中,您可以使用exit(123)
执行此操作。但我猜Symfony2有一个OOP方式。是对的吗?我虽然在文档上找不到任何内容。
我之所以需要这一点,主要是因为我希望能够在Linux中做这样的事情:app/console my:command || { echo "Something went wrong, I'm gonna call handle_disaster now"; handle_disaster; }
答案 0 :(得分:49)
在基础Command
类中:
if ($this->code) {
$statusCode = call_user_func($this->code, $input, $output);
} else {
$statusCode = $this->execute($input, $output);
}
return is_numeric($statusCode) ? (int) $statusCode : 0;
只需从execute()
函数返回退出代码即可。您的控制台命令将使用此代码退出,只要它是一个数值。