{variable}

draven13 Messages postés 5 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 24 avril 2005 - 24 avril 2005 à 14:39
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 25 avril 2005 à 14:24
je vois dans certain code source des variables qui sont entre accolade {variable}
comment les declarer et comment ca marche ?? je ne trouve pas d'explication sur le net

et quelle est l'utilité de ces varaibles ? merci de m'eclaircer

19 réponses

zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
24 avril 2005 à 14:51
salut draven13,

les accolades servent à définir jusqu'ou va une fonction par ex:

if($exemple != 0)
{
echo "c'est un exemple";
}
else
{
echo "ce n'est plus un exemple";
echo "suite de l'exemple";
}

Si tu ne mets pas les accolades, les echos risques d'être traité séparément.

a+
F
0
draven13 Messages postés 5 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 24 avril 2005
24 avril 2005 à 15:02
ca je le savai mais voici un exemple de code :


$lng
["youwereinvited"]="{USER} vous a invité dans {ROOM}";

là les accolades ne ne représente pas une fonction ?? mais plutot a une variable, je pense
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 avril 2005 à 15:05
Salut,



il s'agit surement de templates, les {USER} et {ROOM} seront remplacés
à la fin par leurs valeurs... C'est une méthode peu performante mais
pourtant courament utilisée dans les systèmes de templates.



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
24 avril 2005 à 15:10
c'est quasiment la même chose que $variable, à part pour la définition...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
24 avril 2005 à 15:11
c'est juste un peu plus...
embrouillant...
0
draven13 Messages postés 5 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 24 avril 2005
24 avril 2005 à 15:12
merci de ton aide, template, c'est le nom que je cherchai, maintenant je vais pouvoir chercher des explications sur le net, et si c'est moins performant, je ne vais pas les utiliser
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 avril 2005 à 19:41
Hello,

non non, y a confusion la!
Ces accolades la sont une facon d'ecrire les variables dans un echo, un print, ou une requete sql par exemple. C'est meme uen methode de plus en plus recommandee pour php.
Dans le cas que tu presentes, il s'agit de constantes et non de variables, mais ca reste valable.
$ req mysql_query ("SELECT machin FROM truc WHERE bidule {$suisacourtdemots}");
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 avril 2005 à 19:50
à partir du moment ou tout est entre guillemets il s'agit de valeurs :



$lng
["youwereinvited"]= "{USER} vous a invité dans {ROOM}" ;


Dans le cas présent la variable $lng['youwereinvited'] porte la valeur '{USER} vous a invité dans {ROOM}';



en aucun cas sans système de templates ou autre str_replace cette valeur ne sera changée.


<hr size ="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 avril 2005 à 20:04
Non, lol, je maintiens. Aucun rapport avec un moteur de template. Il s'agit d'une autre syntaxe alternative pour afficher des variables.
Enfin...ton exemple est ok, Antho, tu as raison. Mais je ne pense pas que ce soit ce dont il parle. Il existe reellement une syntaxe alternative pour afficher des variables, sans aucun rapport avec les templates, et utilisant les accolades.

Exemples de la doc :

<?php
// Affichons toutes les erreurs
error_reporting(E_ALL);

$super = 'fantastique';

// Ne fonctionne pas. Affiche : Ceci est { fantastique}
echo "Ceci est { $super}";

// Fonctionne. Affiche Ceci est fantastique
echo "This is {$super}";
echo "This is ${super}";

// Fonctionne
echo "Ce carré a un coté de {$square->width}00 centimètres.";

// Fonctionne
echo "Ceci fonctionne : {$arr[4][3]}";

// Ceci est faut pour la même raison que $foo[bar] est faux
// hors d'une chaîne. En d'autres terme, cela va fonctionne
// car PHP recherche d'abord une constante appelée foo, mais
// il générera une note E_NOTICE (undefined constant).
echo "Ceci est faux : {$arr[foo][3]}";

// Fonctionne. Lorsuqe vous utilisez un tableau multidimensionnel dans
// une chaîne, n'oubliez jamais les accolades.
echo "Ceci fonctionne : {$arr['foo'][3]}";

// Fonctionne
echo "Ceci fonctionne : " . $arr['foo'][3];

echo "Vous pouvez même écrire {$obj->values[3]->name}
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 avril 2005 à 20:29
Je suis tout à fait d'accord avec toi ;-)



Mais là franchement vue comment est présentée sa variable je pense
qu'il s'agit d'un moteur de templates. Si l'auteur peut
confirmer/infirmer...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
24 avril 2005 à 22:49
Lu, si c'est presenté comme moteur de template j'ai fais ca :

function _return($matches) {

@global $$matches[1];

if(isset($$matches[1])) {

return "{$$matches[1]}";

}





}



$var = "{user} dit bonjour {fin}";

$user = 'jojo';

$fin = 'a tout le monde';




echo preg_replace_callback('`{(.[^}]*)}`', '_return', $var);

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 avril 2005 à 00:17
Quelle horreur... Que c'est gourmand...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 avril 2005 à 06:42
Hello,

c'est vrai, tout bien reflechi, on voit tres peu cette syntaxe, il y a plus de chance qu'il ait vu un systeme de templates. Mais reste a ce qu'il confirme ou infirme, en effet :-)
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
25 avril 2005 à 12:54
Je sais c'est gourmand, mais j'ai toujours été tres groumand, et c'est
pourca que je mets des couleurs, pour mieux les devorés des yeux.





Aller serieux ... C'est vrai c'est gourmand, mais je ne vois pas d'autre solution a son probleme ...

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 avril 2005 à 13:08
Quel probleme, lol ? Il nexpose pas vraiment un probleme, il pose juste une question.

De plus, j'aimerais savoir pourquoi il veut savoir comment on utilise
ca avant meme de savoir ce que c'est au juste...c'est bizarre, lol. On
a a priori pas besoin de quelquechose quand on ne sait pas du tout ce
qu'est ce quelquechose...sinon comment peut-on savoir que l'on en a
besoin?

Enfin :



- si ce sont des tamplates qu'il a vu, alors autant qu'il lise un tuto
la-dessus pour comprendre ce qu'est un moteur de template, et a quoi ca
sert. Et il reviendra si quelquechose lui echappe.

- si ce sont des variables ou des constantes qu'il a vu, bah il suffit
de lire la doc a ce sujet pour savoir comment utiliser cette syntaxe.



Et au passage, bonjour Jojo :-)
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
25 avril 2005 à 13:19
Je te retourne ton bonjour, et j'en passe un à tous ceux qui regarderont le messages


<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 avril 2005 à 13:29
lol

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 avril 2005 à 14:15
Et puis, je suis malpoli : Bonjour Antho aussi :-)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 avril 2005 à 14:24
Bonjour malalam :-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
Rejoignez-nous