mar
18
Amusons nous avec PHP4, et PHP5 en poo.
Comparons le comportement de ceci :
class A{ function A() {
echo 'Je me nome A' . " "; } function B() { echo 'Je me nome B' . " "; } } class B extends A{ function C() { echo 'Je me nome C' . " "; }} class C extends B{ } $B = new B();$C = new C();
- en PHP4 :
Je me nome B
Je me nome C - en PHP5
Je me nome A
Je me nome A
Avant tout il faut savoir que en PHP, si une class enfant n’as pas de constructeur défini, c’est le constructeur parent qui sera appelé.
En PHP5, on peux le voir c’est effectivement le cas.
Mais en PHP4, cela ne semble pas tout a fait juste.
Changeons un peu le code, en remplaçant : function C()
parfunction Cbis()
Et là le résultat pour PHP4 change :
Je me nome B
Je me nome B
C’est toujours utile a savoir… et surtotu cela peux éviter de longue heures de debug …
Similar Posts:
- Zend Framework (ZF) : un livre d’or, quatrième étapes : Affichages et ajout de messages
- Zend Framework (ZF) : un livre d’or, cinquième étapes : Modification et suppression des messages
- ZF : module et autoloader
- Zend Framework (ZF) : un livre d’or, troisième étapes : Bases des fichiers
- Css et (x)html découverte du multi-class
Tags: jouons, PHP, poo, programmation