Comment utiliser les « traits » en version PHP < 5.4
Salut à tous,
Cet article est technique, et vraiment destiné aux développeurs PHP.
Si vous êtes rendu sur cette article, c’est surement que vous souhaitez réutiliser / partager des méthodes entre divers objets / classe.
PHP 5.4 a implémenté ce que l’on appel des « traits« , ça permet « grosso merdo », de développer une libraire de fonction, de bout de classe, et de les inclures dans vos objets.
Alors non, il ne seras pas spécialement simple d’inclure des « bouts » de classe dans vos objets.
… MAIS …
Il sera possible en suivant mes explications d’injecter dans vos objets des fonctions, et ainsi de faire de la réutilisation de code !
L’idée c’est que depuis une classe, ou une fonction on peut appeler des variables dîtes « GLOBALES« .
Et c’est les globales qui vont nous permettre de mettre en oeuvre : un « pseudo » traits
Ces variables globales sont appelables de partout.
On peut leurs associer n’importe qu’elle type de valeur :
Tableau, Objet, Function, Chaine, Entier, …
L’idée c’est de créer une fonction dans une variable globale :
Exemple ci-dessous.
…Voilà …
Avec cette variable, vous êtes en mesure d’exécuter la fonction de cette manière :
$T(« Henri », 45, « Homme »);
Pour appeler une variable « globale » depuis une fonction on utilise le mot « global » :
Ainsi, on voit ici que j’inclus ma variable globale « T »
On peut également voir sur cette écran comment l’utiliser.
Alors si l’on applique cette technique à un Objet ça donne ceci :
On observe, une classe « Homme » et une classe « Femme« , chacune dispose de la même fonction « présentation ».
On voit que le script fonctionne, sur l’écran de gauche.
Il y a un avantage à cette technique:
C’est que contrairement aux traits, on peut également lui donner un autre nom.
Au cas ou l’on souhaiterais créer une fonction qui prendrait le même nom.