
In this French tutorial, the instructor explains PHP class constants, their purpose, and how to declare and use them. He starts by comparing a hard‑coded tax rate (20) with a named constant, showing that constants improve code readability. He demonstrates declaring a constant with the `const` keyword inside a `Facture` class, accessing it from outside the class using the scope resolution operator (`ClassName::CONST`), and from inside the class using both the absolute class name and the `self` keyword. The example calculates a TTC amount from a HT amount using a TVA constant of 20 %. The lesson also clarifies the difference between `self` (refers to the class) and `$this` (refers to the instance) and emphasizes best practices for using class constants to make code clearer.
Chapters
Bonjour à tous, et bienvenue dans cette nouvelle leçon de programmation orientée objet en PHP. Aujourd'hui nous allons voir les constantes de classe. Une constante de classe a le même rôle qu'une constante classique que l'on définit en PHP à l'aide de la fonction define. Elle sert en fait à stocker une valeur qui reste inchangée durant toute la durée d'exécution du script, sauf que la constante de classe appartient à la classe dans laquelle elle est définie. Autrement dit, quand elle est invoquée, il faut le faire à travers la classe qui la contient. Mais avant, il convient d'expliquer à quoi sert vraiment une constante de classe dans un programme informatique. Imaginez que l'on a la formule suivante. Il s'agit d'une simple formule de calcul, cependant, à première vue, on a probablement du mal à comprendre à quoi ça sert réellement. Maintenant, on va remplacer le nombre 20 dans la formule comme ceci. Désormais, il est clair que cette petite formule permet de calculer le montant TTC représenté par B à partir d'un montant hors taxes spécifié par A, en appliquant un taux de TVA de 20%. Donc, rien que le fait de remplacer un nombre brut par sa signification réelle permet de rendre notre formule plus explicite, et c'est la même chose dans un programme informatique, les constantes en général permettent de rendre le code plus lisible. Il est alors conseillé d'utiliser les constantes de classe à chaque fois que l'occasion se présente afin de rendre notre code plus facile à comprendre. Voyons maintenant comment déclarer et utiliser les constantes de classe. Nous allons créer une classe qui s'appelle Facture comme ceci, et dedans nous allons déclarer une méthode qui permet de calculer le montant TTC à partir d'un montant hors taxes fourni. On va passer le montant hors taxes en guise d'argument. Cette méthode va nous retourner un nombre calculé à partir de la formule que l'on a vu juste avant. Vous avez vu que j'ai fixé la valeur de taux de TVA à 20%. Maintenant on va instancier notre classe. J'ai créé un objet qui s'appelle Facture1 et là on va calculer le montant TTC à partir d'un montant hors taxes fourni. On va dire que le montant hors taxes vaut la valeur 1000 par exemple. Exécutons maintenant le code pour voir le résultat. Donc ça nous affiche 1200. Alors jusqu'ici notre formule marche bien, mais le problème c'est que notre code n'est pas trop clair. Alors on va essayer maintenant d'invoquer une constante de classe. Donc pour déclarer la constante de classe, on fait appel au mot-clé const comme ceci, puis on nomme notre constante, par exemple que je vais appeler TVA, à laquelle on va affecter la valeur souhaitée. On va mettre égal 20. Alors là, je viens de créer ma constante de classe qui s'appelle TVA. Bien sûr, c'est une constante qui appartient à la classe dans laquelle elle est déclarée, c'est-à-dire dans la classe Facture. Notez que la constante de classe est accessible de partout, c'est-à-dire à partir de l'intérieur de la classe concernée et aussi à partir de l'extérieur. Par exemple, on va essayer d'afficher la valeur de la TVA à l'extérieur de la classe. Bon, je vais commenter ce bout de code. Alors j'ai même pas besoin d'instancier. Bon, je mets directement un truc du genre, par exemple echo. Alors puisque la constante appartient à la classe, donc il faut invoquer le nom de la classe comme ceci. Puis on va mettre un opérateur spécial qui est représenté par double deux-points. On appelle cet opérateur l'opérateur de résolution de portée. Ensuite on va le faire suivre par le nom de la constante de classe, pva. Exécutons maintenant pour voir le résultat. Bon, ça nous affiche 20, ça veut dire que j'ai bien pu accéder à la constante de classe depuis l'extérieur de celle-ci. N'oubliez pas que cet opérateur est très spécial, d'ailleurs il n'est pas utilisé que pour accéder exclusivement aux constantes de classe mais aussi aux membres statiques, à savoir les attributs et les méthodes statiques que l'on aura l'occasion de voir dans une prochaine vidéo. Maintenant on va rétablir notre code. Et on va remplacer la valeur 20 par la constante de classe comme ceci. Exécutons maintenant. Ça nous affiche toujours 1200, ça veut dire que ça marche bien. Il y a juste une remarque, c'est qu'ici j'ai invoqué la constante de classe à l'intérieur de la classe concernée et j'ai utilisé le nom de celle-ci. Alors on dit qu'on a appelé la constante de classe d'une manière absolue, ça veut dire que ce nom il est valable partout, que ce soit à l'extérieur de la classe comme à l'intérieur. Mais puisque je suis à l'intérieur, vaut mieux remplacer le nom de la classe par le mot-clé self comme ceci. Le mot-clé self fait référence à la classe courante, c'est-à-dire la classe dans laquelle elle est déclarée. Dans ce cas self remplace le nom de la classe à savoir Facture. Exécutons maintenant. Ça donne toujours le même résultat. Alors notez que self il fait référence à la classe et $this fait référence à l'instance de classe. Alors récapitulons, pour que votre code soit mieux lisible, il est préférable d'invoquer les constantes de classe à chaque fois que vous en avez l'occasion. Pour déclarer une constante de classe on utilise le mot-clé const suivi du nom de la constante de classe à laquelle on va affecter la valeur souhaitée, et pour appeler celle-ci on peut le faire de n'importe où, c'est-à-dire à l'intérieur comme à l'extérieur de la classe, il suffit d'utiliser l'opérateur de résolution de portée représenté par double deux-points. Ça sera tout pour cette leçon. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm









