【发布时间】:2012-10-30 17:06:12
【问题描述】:
我想将代码从 PHP 5.2 迁移到 5.4。到目前为止,这工作得很好,除了我使用的所有代码都广泛使用了只使用带有成员的对象而没有任何初始化,例如:
$MyObject->MyMember = "Hello";
导致警告:“从空值创建默认对象”
我知道解决方案是使用:
$MyObject = new stdClass();
$MyObject->MyMember = "Hello";
但是在我的所有代码中更改它会做很多工作,因为我在不同的项目中多次使用它。我知道,这不是很好的风格,但不幸的是,我无法在接下来的几周内将其添加到我的所有代码中。
我知道我可以将 php error_reporting 设置为不报告警告,但我希望仍然能够获得其他警告和通知。此警告似乎根本不受启用或禁用 E_STRICT 的影响。那么有没有办法禁用这个警告?!
【问题讨论】:
-
我得说,我在 5.4 中不知道这一点 - 看起来我很快就会和你在同一条船上。
-
是的 - 有时您将无法编写新软件,因为您必须升级到旧软件...
-
这个警告应该保留
E_STRICT,而不是变成E_WARNING!似乎 PHP 开发人员一直在发明新的方法来让我们的生活变得困难。
标签: php error-reporting