2009-06-08 13 views
0

ich die Fehlerberichterstattung in meiner Entwicklungsumgebung gesetzt haben, indem zu der Spitze meiner Datei wp-config.php E_STRICT:Debugging Wordpress mit E_STRICT Fehlerberichterstattung

ini_set('error_reporting', E_STRICT);

Dies zeigt viele Orte, an denen Rückgabewerte werden als Referenz übergeben, zB $wp_the_query = &new WP_Query(); wirft den Fehler Strict standards: Assigning the return value of new by reference is deprecated in /htdocs/site/wp-settings.php

Ich hoffe, ich kann den Referenzoperator einfach entfernen und nicht irgendwo anders brechen, oder brauche ich eine komplexere Lösung? Ich hoffe, dass es besser ist, als error_reporting abzustellen, das würde sich einfach schmutzig anfühlen.

Ich benutze Wordpress 2.7.1 mu, PHP 5.2.6 mit Xdebug 2.1.0.

bearbeiten: sowie Objekte/Werte unter Bezugnahme vorbei, es gibt viele andere Warnungen, einschließlich 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 usw. Anstatt für spezifische Lösungen suchen, können Sie im Umgang keine Erfahrungen teilen mit Dieses Durcheinander von Code? Ich bin damit einverstanden, die Core-Dateien zu modifizieren, auf die Gefahr hin, das Upgrade in der Zukunft zu verlieren.

Antwort

2

Seit PHP5 werden Objekte immer als Referenz übergeben, so dass die & hier nicht benötigt wird. Sie können es entfernen, ohne sich Sorgen machen zu müssen. Es tut aber auch nicht weh.

Bearbeiten: Sie können weitere Informationen über Objektreferenzen in PHP5 here finden.

+0

Danke, das ist toll zu wissen. Ich habe die Frage bearbeitet, ich denke, ich suche nach Erfahrungen, die alle verschiedenen Warnungen aufspüren, die der strenge Modus wirft. – postpostmodern