gpt4 book ai didi

PHP 在访问 NULL 对象的属性时不会引发异常?

转载 作者:行者123 更新时间:2023-12-02 17:47:10 25 4
gpt4 key购买 nike

我注意到,当我尝试访问 NULL 对象的属性时,PHP 不会抛出异常。它是否正确?我希望会像其他语言一样出现某种错误。

最佳答案

不,只是访问未定义成员的警告。如果您愿意,您可以使用 __get() 将异常手动添加到您的类中。魔法函数:

class foo {

public function __get( $name )
{
throw new Exception($name . ' does not exist in foo');
}
}

现在类(class)将按照您的预期进行。

$bar = new foo();
$x = $bar->something;

echo :

Fatal error: Uncaught exception 'Exception' with message 'something does not exist in foo' in C:\web\xampp\htdocs\stupid2.php:7 Stack trace: #0 C:\web\xampp\htdocs\stupid2.php(14): foo->__get('something') #1 {main} thrown in C:\web\xampp\htdocs\test.php on line 7

关于PHP 在访问 NULL 对象的属性时不会引发异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13432323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com