Compatibilité PHP5 et PHP4

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Compatibilité PHP5 et PHP4

Re: Compatibilité PHP5 et PHP4

par Hubert Roksor » 22 avr. 2006, 16:10

Qu'en est-il au niveau de la compatibilité des deux version au moins au niveau de la gestion des objets et des interfaces ?
Aléatoire, au mieux, mais ça dépend de programme en question. Il faut savoir que les objets sont traités différemments sous PHP 5 et PHP 4. Plutôt que de réécrire le manuel, je te laisse consulter ce chapitre: Nouveau Modèle Objet. La liste des Incompatilibités avec les versions antérieures est une source importante d'information, de même que l'annexe Migration de PHP 4 vers PHP 5.

Pour résumer, si tu utilises les nouveaux mots-clé "private", "public", "final", etc... le script ne fonctionnera pas sous PHP 4. De même pour les fonctions magiques "__construct", "__destruct", "__get" et autres. Si tu passes des objets à des fonctions (ou autre) de cette façon, cela ne fonctionnera pas non plus:
$obj = new MaClasse;
$obj2 = new AutreClasse;
$obj2->obj = $obj;
parce qu'une nouvelle instance (une copie) de MaClasse sera assignée à $obj2->obj. Sous PHP 4 il faudrait remplacer la dernière ligne par
$obj2->obj =& $obj;

Compatibilité PHP5 et PHP4

par metro-gi » 22 avr. 2006, 14:22

Bonjour,

Quelqu'un peut-il me dire si un programme PHP écrit avec les mot clés de PHP5 (protected, public, ...) mettant en oeuvre les interfaces,... bref un programme objet, peut être interprété correctement avec un serveur WEB faisant tourner un module PHP4 ?

Qu'en est-il au niveau de la compatibilité des deux version au moins au niveau de la gestion des objets et des interfaces ?

Merci d'avance