Tutoriel PHP : Appel dynamique de constantes

Vous-êtes vous déjà retrouvé dans le cas de figure où vous devez utiliser une constante PHP dont vous ne pouvez pas connaître à l’avance le nom ?

Prenons un exemple simple :

  • Vous disposez de plusieurs constantes suffixées par un numéro.
  • Ce numéro sera déterminé dynamiquement lors de l’éxécution du script PHP.
  • Vous devez utiliser une de ces constantes en fonction du numéro calculé par le script et vous remarquez que les méthodes valables pour les variables ne fonctionnent pas pour les constantes (utilisation des accolades pour générer dynamiquement le nom de la constante).

La solution proposée par PHP dans ce cas là est l’utilisation de la fonction constant qui retourne une constante identifiée par son nom au format String :

define('CONSTANT_1', 'constante n°1');
define('CONSTANT_2', 'constante n°2');
define('CONSTANT_3', 'constante n°3');
define('CONSTANT_4', 'constante n°4');	
	
/**
* Retourne la constante identifiée par un numéro grâce à la fonction constant.
* 
*/		
function getConstant($num) {
	return(constant('CONSTANT_' . $num));
}

Vous pouvez ainsi effectuer vos opérations de calcul du nom de la constante avant de l’appeler, le nom a donc bien été généré dynamiquement 😉

  1. Raf says:

    Salut,
    je me renseignais pour émettre des constantes mais qui peuvent varier, ex. pour une minification du code à faire de temps en temps.
    Je ne connaissait pas la fonction (parmi les 10 000 autres)
    PHP constant, je file sur la DOC !
    Malin (comme j’aime !)
    Et Merci !
    Raf

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nos partenaires

PrestaShop

PrestaShop nous fait confiance en nous délivrant la certification Expert qui démontre notre expertise concernant leur logiciel e-commerce. Nous avons également obtenu deux certifications officielles PrestaShop Fullstack Developer.

PayPlug

PayPlug est la solution de paiement française qui simplifie le paiement pour l’ensemble des TPE et PME de l'e-commerce, aussi bien en ligne qu’en magasin.

Klaviyo

Klaviyo, leader mondial du marketing automation, propose une solution complète qui s'interface avec vos canaux de vente.