我在本地计算机上安装了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。什么可能导致这种行为?
答案 0 :(得分:2)
php设置。如果您将其设置为显示E_NOTICE
,则会显示通知。第一个可能“有”通知,但你没有设置你的系统来显示它
有关错误的详情,请参阅this reference question
答案 1 :(得分:1)
错误可以是句柄,在框架内部有检查确保一定质量的代码。您的属性可能存在,但在某些上下文中可能不可见 - 如私有属性。在你的Obj中可能有一个像__get()这样的重载函数,它处理返回值,如果值不存在或者它们与其他逻辑不对应。