如果我尝试使用PHP中甚至不存在的变量,我不会收到任何错误或通知。在下面的示例中,返回值为“null”。如果发生这种情况,我希望看到某种形式的通知,这样我就可以更轻松地找到代码中的错误。
echo $doesNotExist -> something; //returns null
我的php.ini中的错误报告如下
error_reporting = E_ALL
在访问不存在的变量时,我该怎么做才能看到通知?
澄清这一点:
我知道我可以使用isset()
检查变量是否存在。这不是我想要的。我希望得到一个通知,以防我不小心尝试使用不存在的变量。例如,如果我拼错了变量的名称。
display_errors = On
在我的php.ini
答案 0 :(得分:0)
与error_reporting
一样,您可能需要启用display_errors
,这应该在生产环境中关闭。
生产环境可以使用log_errors
代替,它会将错误输出到error_log
指令中指定的文件。
答案 1 :(得分:-1)
你所做的是在PHP中完全有效。它只是在运行时创建并实例化该变量,并且不会像其他语言一样抛出错误。
即使是isset也不会太好用。假设您使用错误的名称设置对象变量。如果您确实使用该名称,那将是真的。如果您确实使用了正确的名称,那么它将是错误的。
示例:
class test{
public $name1;
}
$test = new test;
$test->name2 = 'wrong';
var_dump($test);
打印:object(test)#1 (2) { ["name1"]=> NULL ["name2"]=> string(5) "wrong" }
答案 2 :(得分:-2)
我通常使用以下内容;
if(isset($var) && !empty($var)) {
//Do something with $var
} else {
//Define $var
}
如上一个答案中所述,您还需要在php.ini
中打开错误报告