我不明白这种行为在php(自5.4以来?)
class Test {
function __construct() {
return null ;
}
} ;
$a = new Test() ;
if($a) {
echo "I am printing this. Why am I printing this ??" ;
}
$ a应该等于NULL,但它会通过测试if()...
在某些情况下(如果参数对例子无效)是否可以在使用“new”时获取null对象?
答案 0 :(得分:4)
构造函数不返回任何内容。 ctor运行后,该对象已创建。您的return null
会被忽略。
编辑:即使有可能在某些事情失败时在ctor中返回null也是不好的做法。
改为向exception
投放一条明确的消息。