Les classes et les objets
PHP Manual

Modifications en POO (Programmation orientée objets)

Les changements du modèle objets de PHP5 sont recensés ici. Plus d'informations et quelques notes peuvent être trouvées dans la documentation sur la POO en PHP5.

Version Description
5.3.0 Changement: Il est maintenant possible de référencer une classe en utilisant une variable (ex: echo $classname::constant;). La valeur de la variable ne peut être un mot-clé (ex: self, parent ou static).
5.3.0 Changement: Une erreur de niveau E_WARNING est levée si les méthodes magiques de surcharge sont déclarées static. La visibilité publique est aussi requise.
5.3.0 Changement: Avant 5.3.0, les exceptions lancées dans la fonction __autoload ne pouvaient être traitées dans un bloc catch et résultaient en une erreur fatale. Maintenant les exceptions levées dans la fonction __autoload peuvent être attrapées dans un bloc catch et traitées. Si une exception personnalisée est levée, alors sa classe doit être disponible. La fonction __autoload peut par contre être utilisée recursivement pour autocharger la classe d'exception personnalisée.
5.3.0 Ajout de la méthode magique __callStatic.
5.3.0 Ajout: heredoc et nowdoc sont supportées pour définir les constantes de classes et les attributs. Note: Les valeurs heredoc doivent suivre les mêmes règles que les chaines à doubles quotes, (e.g., pas de variables à l'intérieur).
5.3.0 Ajout du Late Static Bindings (résolution statique tardive).
5.3.0 Ajout de la méthode magique __invoke.
5.2.0 Changement: La méthode magique __toString n'était appelée que lors des appels à echo() ou print(). Maintenant, elles le sont dans n'importe quel contexte de chaine (ex: dans printf() avec %s) mais pas dans les autres contextes (ex: avec le modificateur %d). Depuis PHP 5.2.0, convertir un objet en chaine sans méthode __toString émet une erreur E_RECOVERABLE_ERROR.
5.1.3 Changement: Dans les versions antérieures de PHP 5, l'utilisation de var était considérée comme dépréciée et envoyait une erreur E_STRICT. Ce n'est plus le cas.
5.1.0 Changement: La méthode magique statique __set_state est maintenant appelée pour les classes exportées via var_export().
5.1.0 Ajout des méthodes magiques __isset et __unset.


Les classes et les objets
PHP Manual