未发生财产的价值是多少?

时间:2014-12-18 12:59:25

标签: php

我在本地计算机上安装了Magento和PrestaShop。我写了2个模块(对于presta和magento,他们有相同的核心)。问题是error_reporting。让我给你举个例子。 Magento的

@ini_set('display_errors', 'on');
@error_reporting(E_ALL | E_STRICT);
$obj = new Obj();
var_dump($obj->version); //returns null because the property "version" doesn't really exist
die();

Presta的

$obj = new Obj();
var_dump($obj->version); //returns E_NOTICE error because the property "version" doesn't really exist

为什么Magento在Presta抛出错误时返回null。什么可能导致这种行为?

2 个答案:

答案 0 :(得分:2)

php设置。如果您将其设置为显示E_NOTICE,则会显示通知。第一个可能“有”通知,但你没有设置你的系统来显示它

有关错误的详情,请参阅this reference question

答案 1 :(得分:1)

错误可以是句柄,在框架内部有检查确保一定质量的代码。您的属性可能存在,但在某些上下文中可能不可见 - 如私有属性。在你的Obj中可能有一个像__get()这样的重载函数,它处理返回值,如果值不存在或者它们与其他逻辑不对应。