Aller au contenu

Variable et define()


Nairol

Sujets conseillés

Bonjour,

Je passe mon site en multi langues.

J'utilise define pour definir le choix de la langue

////fichier langue fr
<?
$membre='10';
define("_MONTEXTE", "nombre de membres $membre actuelement");
?>

<? 
require ('langue_fr.php')

echo _MONTEXTE;
?
?>

resulat = nombre de membres actuelement

La variable $membre est pas interpretée.

Je voudrais savoir s'il y a une astuce pour inclure des variables dans define() ou si ce n'est pas possible!

Merci pour votre aide

Nairol

**EDIT Administrateur (TheRec)** Merci d'utiliser la balise CODEBOX uniquement pour les longs code, dans les autres cas il faut utiliser CODE.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Ce n'est pas possible parce que par définition, une constante doit avoir une valeur qui est définie (d'ou le "define") et qui reste la même tout le long de l'exécution du script. Ce que tu veux faire est possible si tu utilises une variable, l'inconvénient est que cette variable sera modifiables par d'autres parties du programme.

Mais en toute logique, si tu veux que la valeur de ta constante change, c'est que tu veux une variable ;)

Lien vers le commentaire
Partager sur d’autres sites

je viens de tester et ce code ne pose aucun problème, ça affiche bien "nombre de membres 10 actuellement", du moins en ayant corrigé la faute d'orthographe :whistling:

Lien vers le commentaire
Partager sur d’autres sites

Oui effectivement je me suis mal exprimé, je supposais que Nairol voulais en fait qu'à chaque appel à la valeur de la constante la variable soit réévaluée et ce ne sera pas le cas dans le code actuel, la constante peut se baser sur une variable pour obtenir sa valeur mais une fois définie elle ne changera jamais durant toute l'exécution même si la variable de base change.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...