|
||||||
| Espace Clients |
|
|||||
|
- 95% des demandes d'aide de nos clients sont traités en moins de 2 heures ! - Nous sommes toujours en pleine innovation ! - Nous améliorons sans cesse la qualité de nos services ! |
Late Static Bindings (Résolution statique à la volée)Depuis PHP 5.3.0, PHP implémente une fonctionnalité appelée late static bindings, en français la résolution statique à la volée, qui est utilisée pour choisir la classe appelée dans le cadre de l'héritage de méthodes statiques. Cette fonctionnalité a été baptisée "late static bindings", d'un point de vue interne. "Late binding", littéralement compilation tardive, vient du fait que les éléments static:: ne seront plus résolus en utilisant la classe où la méthode a été définie, mais celle qui est active durant l'exécution. L'adjectif statique a été ajouté car ce problème s'applique aux méthodes statiques, mais pas seulement. Limitations de self::Les références à la clsse courante, avec self:: ou __CLASS__ sont résolues en utilisant la classe à qui appartiennent les fonctions, où elles ont été définies : Exemple #1 Utilisation de self::
<?phpL'exemple ci-dessus va afficher : A Utilisation de la résolution statique à la voléeLa résolution statique à la volée essaie de dépasser cette limitation en introduisant un mot clé qui fait référence à la classe qui est appelée durant l'exécution. Simplement, ce mot-clé vous permet de faire référence à B depuis test(), dans l'exemple précédent. Il a été décidé de ne pas introduite de nouveau mot clé, mais plutôt d'utiliser le mot static qui était déjà réservé. Exemple #2 Utilisation simple de static::
<?phpL'exemple ci-dessus va afficher : B
Exemple #3 Utilisation de static:: dans un contexte non statique
<?phpL'exemple ci-dessus va afficher : TestChild TestParent
Cas limitesIl y a de nombreuses solutions pour lancer un appel à une méthode en PHP, comme des fonctions de rappels, ou des méthodes magiques. La résolution statique à la volée qui effectue son travail à l'exécution, il peut y avoir des cas particuliers qui donnent des résultats inattendus. Exemple #5 Résolution statique à la volée dans une méthod magique
<?phpL'exemple ci-dessus va afficher : B |


