Modifications en POO (Programmation orientée objet)
Les changements du modèle objet 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.4.0 | Modification : Si une classe abstraite définit une signature pour le constructeur, elle sera désormais appliquée. |
| 5.3.3 | Changement : Les méthodes ayant le même nom que la classe dans un espace de noms ne sont plus considérées comme constructeur. Ce changement n'affecte pas les classes sans espace de nom. |
| 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 statiques.
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 lancé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 propriétés. 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
chaîne (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 chaîne 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 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(). |
There are no user contributed notes for this page.
