处理缺少参数的 PHP 错误

标签 php

我目前正在开发我的 PHP SDK 以与 REST API 交互。假设 API 可以创建“汽车”模型。为了创造一辆汽车,我会写这样的东西......

$car = $api->create('car', array(
   'wheels' => 6,
   'color'  => 'blue'
));

如果其他开发人员下载了我的 SDK 并尝试错误地创建汽车模型而忘记包含所需的参数。我如何通过 SDK 抛出异常以通知开发人员缺少参数,而不是他们看到像 Warning: Missing argument 1 for BMW::create() 这样的 PHP 错误,其中不包含很多细节.

最佳答案

function foo($bar, $baz) {
    if (!isset($bar, $baz)) {
        throw new InvalidArgumentException("Detailed description of what's wrong here");
    }
    ...
}

PHP 将触发一个警告,但仍会像往常一样执行您的函数(这是...哦,好吧,让我们不要详述它)。这意味着您可以在函数内部进行常规参数检查,并根据需要尽可能详细地抛出异常或 trigger_error

关于处理缺少参数的 PHP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30100702/

相关文章:

php - 如何将绑定(bind)参数与值数组一起使用?

php - 如果未捕获错误/警告/通知,如何自动停止任何脚本并重定向到错误页面

php - 隐藏 “Creating default object from empty value in”输出

javascript - 如何避免多次追加

php - MySQL 返回 MIN id 而不是 MAX id?

php - Gmail PHP API 发送电子邮件

php - 检索导入的 CSV 的 ID(LOAD DATA INFILE)

php - 为什么它插入额外的两个空行

php - 无法在 API 实现中使用过滤器和维度

php - 在验证之后但在 Woocommerce Checkout 中创建订单之前进行 Hook