我已将开发环境中的错误报告设置为E_STRICT,方法是添加到我的wp-config.php文件的顶部:
ini_set( 'error_reporting', E_STRICT );
这显示了很多通过引用传递返回值的地方,例如$wp_the_query = &new WP_Query();
会引发错误Strict standards: Assigning the return value of new by reference is deprecated in /htdocs/site/wp-settings.php
我希望我可以简单地删除引用运算符而不是在其他地方破坏它,或者我是否需要更复杂的解决方案?我希望能做的不仅仅是关闭error_reporting,这只会感觉很脏。
我使用Xdebug 2.1.0运行Wordpress 2.7.1 mu,PHP 5.2.6。
修改:
除了通过引用传递对象/值之外,还有很多其他警告,包括Redefining already defined constructor for class WP_Object_Cache
,Creating default object from empty value
,Non-static method WP_Http_ExtHTTP::test() should not be called statically
等。您可以分享任何经验,而不是寻找特定的解决方案在处理这一堆乱码?我可以修改核心文件,但有可能在将来失去升级能力。
答案 0 :(得分:2)
从PHP5开始,对象总是通过引用传递,因此这里不需要&
。你可以删除它而不必担心。但是,它也没有伤害。
编辑:您可以在PHP5 here中找到有关对象引用的更多信息。