Références dans un constructeur <<< |
Comparer des objets en PHP 4 | Comparer des objets en PHP 5 >>> |
4.9 Les classes et les objets 4 Référence Manuel PHP . Les classes : class . extends : héritage . Constructor : constructeur . Opérateur :: . parent . Sauvegarde d'objets - cas des sessions . Les fonctions magiques __sleep et __wakeup . Références dans un constructeur ->Comparer des objets en PHP 4 . Comparer des objets en PHP 5 |
4.9.9 Comparer des objets en PHP 4
En PHP 4, les objets sont comparés de manière très simple, à savoir : deux instances sont égales si elles ont les mêmes attributs et valeurs, et qu'elles sont de la même classe. Des règles similaires s'appliquent lors de la comparaison avec l'opérateur === . Si vous exécutons le code suivant :
Compare des instances créées avec les mêmes paramètres o1 == o2 : TRUE o1 != o2 : FALSE o1 === o2 : TRUE o1 !== o2 : FALSE Compare des instances créées avec différents paramètres o1 == o2 : FALSE o1 != o2 : TRUE o1 === o2 : FALSE o1 !== o2 : TRUE Compare une instance d'un parent avec celle d'une sous-classe o1 == o2 : FALSE o1 != o2 : TRUE o1 === o2 : FALSE o1 !== o2 : TRUE Ce qui est le résultat que nous attendions, au vue des règles édictées. Seules deux instances avec les mêmes valeurs d'attributs, et issues de la même classe sont considérées comme égales. Même lorsque nous avons une composition d'objet, la même règle de comparaison s'applique. Dans l'exemple ci-dessous, nous allons créer une classer conteneur, qui stocke un tableau associatif Flag .
Objects composés u(o,p) et v(q,p) o1 == o2 : TRUE o1 != o2 : FALSE o1 === o2 : TRUE o1 !== o2 : FALSE u(o,p) et w(q) o1 == o2 : FALSE o1 != o2 : TRUE o1 === o2 : FALSE o1 !== o2 : TRUE |
<< | Comparer des objets en PHP 4 | >> |
Références dans un constructeur | Les classes et les objets | Comparer des objets en PHP 5 |