Smarty et les constantes de classe

Le nouveau modèlke objet de PHP 5 permet l’utilisation de constantes de classe. Malheureusement le moteur de template Smarty pour assurer la compatibilité avec PHP 4 ne les reconnait pas.

Si vous tentez le test suivant {if $vente->type == VENTE::INTERNE}, vous obtiendrez le message d’erreur suivant :

syntax error: unidentified token ‘::INTERNE’ (Smarty_Compiler.class.php, line 1384)

Il est possible de contourner cette limitation en passant par la fonction constant() qui renvoie la valeur d’une constante d’après son nom. Le test devient donc :

{if $vente->type == constant('VENTE::INTERNE')}

Ce contenu a été publié dans PHP. Vous pouvez le mettre en favoris avec ce permalien.