为什么PHP的类型提示允许一个对象通过,当它是NULL?代码如下:
public function addBodySegments(Mage_Sales_Model_Order $order)
{
if ($order === null) {
echo 'fail';
}
}
我有not在函数签名中提供了一个"$order = null"默认值,所以我的理解是PHP应该保证我在$order中有一个对象的实例。
Mage_Sales_Model_Order
的作者是否写了这样一个类,它以某种方式传递类型提示,或者这里有一个我不知道的更通用的PHP事情?
我明白了
我的代码中有多个部分调用addBodySegments(),其中一个调用它没有任何参数。令人惊讶的是,当您在不提供任何参数的情况下调用该方法时,PHP的类型提示会被绕过。
奇妙的设计选择