如何在Symfony2命令中设置退出状态代码?

时间:2013-08-26 03:22:10

标签: symfony command-line

在Symfony2命令中设置退出状态代码的正确方法是什么?

在纯PHP中,您可以使用exit(123)执行此操作。但我猜Symfony2有一个OOP方式。是对的吗?我虽然在文档上找不到任何内容。

我之所以需要这一点,主要是因为我希望能够在Linux中做这样的事情:app/console my:command || { echo "Something went wrong, I'm gonna call handle_disaster now"; handle_disaster; }

1 个答案:

答案 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()函数返回退出代码即可。您的控制台命令将使用此代码退出,只要它是一个数值。