2009-06-08 6 views
0

J'ai mis les rapports d'erreurs dans mon environnement de développement à E_STRICT en ajoutant au-dessus de mon fichier wp-config.php:Wordpress Debugging avec l'erreur E_STRICT rapports

ini_set('error_reporting', E_STRICT);

Cela montre beaucoup d'endroits où les valeurs de retour sont passés par référence, par exemple $wp_the_query = &new WP_Query(); jette l'erreur

J'espère simplement pouvoir supprimer l'opérateur de référence et ne pas le casser ailleurs, ou ai-je besoin d'une solution plus complexe? J'espère faire mieux que simplement désactiver error_reporting, ce serait juste sale.

Je cours Wordpress 2.7.1 mu, PHP 5.2.6 avec Xdebug 2.1.0.

Modifier: ainsi que des objets en passant/valeurs par référence, il y a beaucoup d'autres avertissements, y compris 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, etc. Plutôt que de chercher des solutions spécifiques, pouvez-vous partager des expériences dans le traitement des ce gâchis de code? Je suis d'accord avec la modification des fichiers de base, au risque de perdre la mise à niveau de la capacité à l'avenir.

Répondre

2

Depuis PHP5, les objets sont toujours passés par référence, donc le & n'est pas nécessaire ici. Vous pouvez l'enlever sans avoir à vous inquiéter. Cependant, cela ne fait pas mal non plus.

Modifier: Vous pouvez trouver plus d'informations sur les références d'objets dans PHP5 here.

+0

Merci, c'est bon à savoir. J'ai édité la question, je suppose que je suis à la recherche d'expériences de chasse à tous les différents avertissements que le mode strict jette. – postpostmodern