2010-11-19 3 views
2

que je cherchais à travers le code source de Zend Framework et a remarqué que la plupart (sinon tous) des comparaisons sont faites avec les opérandes dans l'ordre inverse je me attends:comparaison d'opérandes dans le code source Zend Framework

if ((false !== $request) { 
    ... 
} 

au lieu de:

if (($request !== false) { 
    ... 
} 

Quelle est la raison de cette convention?

Répondre

6

C'est ce qu'on appelle un Left-Hand Comparison.

Fondamentalement, il est donc que si vous oubliez de mettre le deuxième = dans ==, ça va changer l'erreur plutôt la valeur de la variable ...

3
if (false = $request) 

échouera rapidement (si vous vouliez dire pour false == true exemple) - vous ne pouvez pas affecter à une constante. C'est l'un de ces conseils que vous comprenez, ou voyez et suivez, pour aider à attraper les problèmes. La convention ZF de laisser une étiquette close-PHP (?>) au ned d'un fichier est la même idée. Vous ne pouvez pas avoir des espaces qui pourraient être en sortie un problème, s'il n'y a pas de balise à suivre.