使用E_STRICT错误报告调试Wordpress

时间:2009-06-08 22:18:34

标签: php wordpress coding-style

我已将开发环境中的错误报告设置为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_CacheCreating default object from empty valueNon-static method WP_Http_ExtHTTP::test() should not be called statically等。您可以分享任何经验,而不是寻找特定的解决方案在处理这一堆乱码?我可以修改核心文件,但有可能在将来失去升级能力。

1 个答案:

答案 0 :(得分:2)

从PHP5开始,对象总是通过引用传递,因此这里不需要&。你可以删除它而不必担心。但是,它也没有伤害。

编辑:您可以在PHP5 here中找到有关对象引用的更多信息。