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. |