原因

E_NOTICE 错误通常是通过在声明变量之前使用它来触发的;这将触发如下消息:

注意:未定义变量:在第 14 行的 /var/www/testing.php 中测试

这告诉我们变量 $test 在声明之前使用过,并且错误是在 testing.php 文件的第 14 行触发的——这些信息应该足以让我们在编辑器中打开文件并修复错误。
要修复错误,我们可能需要在使用之前声明变量,可以这样完成:

$test = '';
PHP E_NOTICE

E_NOTICE 消息并不严重,通常可以忽略,但通常认为修复它们是一个好习惯。
通常会因为代码中的小错误而触发通知消息,例如在声明之前使用变量,这通常不是错误;不过,PHP 会根据错误报告级别通知我们。

要仅显示 E_NOTICE 错误,我们可以使用 error_reporting 函数:

error_reporting(E_NOTICE);

我们通常希望在编码时显示的不仅仅是通知。
建议在开发环境中显示所有错误 E_ALL,然后修复所有内容,以便代码可以运行而不会产生错误。

error_reporting(E_ALL);

自定义错误消息

E_NOTICE 也有对应的用户生成的 E_USER_NOTICE ,我们应该在触发自定义通知时使用它。
但是,通常最好抛出异常,因为我们的代码用户可以使用 try 和 catch 块处理这些异常。

trigger_error("You should normally call method x before calling method y", E_USER_NOTICE);

如果用户需要在调用下一部分之前调用代码的某些部分,则触发通知消息可能是合适的;我们可以执行条件检查以查看代码是否被正确调用,如果没有则触发通知消息。
用户以非预期方式调用代码的原因可能仍然存在,因此在这种情况下使用通知消息是合适的;但同样,抛出异常更简洁。

日期:2020-06-02 22:15:40 来源:oir作者:oir