PHP 5 inclut un nouveau modèle objet. Le traitement des objets en PHP a
complètement été réécrit pour arriver à de meilleures performances et plus
de fonctionnalités. Dans les versions précédentes de PHP, les objets étaient
traités comme des types primitifs (par exemple les entiers ou les chaînes de
caractères). L'inconvénient de cette méthode était que sémantiquement, l'objet
en entier était copié lorsqu'une variable était assignée ou passée comme
paramètre à une fonction. Dans la nouvelle approche, les objets sont
référencés par un pointeur et non pas leur valeur (on peut penser à un
pointeur en tant qu'identifiant d'objet).
Beaucoup de développeurs PHP ne se rendent pas compte des caprices lors
de la copie dans l'ancien modèle objet et, par conséquent, la majorité des
applications PHP devrait fonctionner directement ou avec
très peu de modifications.
Le nouveau modèle objet est documenté dans la partie de référence du langage.
Voir aussi la directive
zend.ze1_compatibility_mode pour la compatibilité avec PHP 4.