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.3 | Changement: Les méthodes ayant le même nom que la classe dans un namespace ne sont plus considérées comme constructeur. Ce changement n'affecte pas les classes sans namespace. |
5.3.0 | Changement: Les interfaces définissant des méthodes ayant un prototype avec des arguments obligatoires peuvent être implémentées dans les classes avec un argument facultatif sans erreur. |
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 ne doivent pas contenir de variables. |
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, elle l'est 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, l'utilisation de var était considérée comme obsolète 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. |