Jouons aves PHP et la poo

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()
par
function 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:

    None Found