【问题标题】:Can I call die after echo with PHP?我可以在使用 PHP 回显后调用 die 吗?
【发布时间】:2011-12-31 14:28:40
【问题描述】:

我正在尝试在我的 PHP 脚本中添加一些错误检查。这样做是否有效:

if (!mkdir($dir, 0)) {
    $res->success = false;
    $res->error = 'Failed to create directory';
    echo json_encode($res);
    die;
}

遇到这样的错误后,有没有更好的方法退出脚本?

【问题讨论】:

标签: php json


【解决方案1】:

这对我来说很好。

您甚至可以像这样在die 中回显数据:

if (!mkdir($dir, 0)) {
    $res->success = false;
    $res->error = 'Failed to create directory';
    die(json_encode($res));
}

【讨论】:

  • 刚刚了解了 die(json_encode('whatever going here'));谢谢>
【解决方案2】:

抛出异常。将代码放入 try catch 块中,并在需要时抛出异常。

【讨论】:

  • 为什么在 die 更简单时使用异常?这不是使用异常处理程序的情况。
  • 用于关注点分离。低级函数不应处理输出。如果您现在将该功能重新用作控制台实用程序的一部分会怎样?使用异常可以让您在适当的层处理错误。
【解决方案3】:

PHP 有 error triggering and handling 的函数。

if (!mkdir($dir, 0)) {
    trigger_error('Failed to create directory', E_USER_ERROR)
}

当您执行此操作时,脚本将结束。该消息将写入配置的错误日志中,并且在启用 error_reporting 时也会显示。

【讨论】:

    猜你喜欢
    • 2014-03-14
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2011-04-19
    • 2016-05-23
    • 2013-03-19
    相关资源
    最近更新 更多