Page 1 sur 1

Question sur le <?=

Posté : 27 avr. 2007, 15:10
par Jerem
Bonjour,

Je viens de voir un script qui utilise, au lieu du traditionnel
<?php echo $variable; ?>
Ceci :
<?= $variable ?>
J'ai constaté que ca marchait bien, mais je me pose quelques questions : est-ce rigoureusement bien écrit, y-a-t-il des risques ... bref est-ce un raccourci d'écriture correct ?

Je vous remercie :)

Posté : 27 avr. 2007, 15:15
par cicom
Salut,
On peut utiliser des dizaines de formes différentes pour les balises php mais la plus correcte et la plus rapide reste <?php ?>
On a par exemple <? ?> mais qui peut se confondre avec d'autres langages car déjà pas mal utilisé.
On a aussi <script language="php"> </script> mais ces balises sont lourdes comme pas possible...
Voir le début de cet article pour une explication plus complète
http://www.phpdebutant.org/article14.php
Voila bons début en php!

Re: Question sur le <?=

Posté : 27 avr. 2007, 15:26
par Invité
Bonjour,

Ma question n'est pas la, je sais que le <? est équivalent au <?php ; mais ce que je voulais savoit c'est à quoi sert le ' = ' dans <?=

Est-ce qu'il remplace un echo ?

Bonjour,

Je viens de voir un script qui utilise, au lieu du traditionnel
<?php echo $variable; ?>
Ceci :
<?= $variable ?>
J'ai constaté que ca marchait bien, mais je me pose quelques questions : est-ce rigoureusement bien écrit, y-a-t-il des risques ... bref est-ce un raccourci d'écriture correct ?

Je vous remercie :)

Posté : 27 avr. 2007, 15:38
par Cyrano
On appelle ça les short open tag et c'est vivement déconseillé de les utiliser : si en local tu peux configurer ta machine comme tu veux, n'oublie cependant jamais que sur un serveur de production, tu n'auras pas forcément accès à cette configuration et si la directive short_open_tag est à OFF, tu devras reprendre tous tes codes pour mettre la version conventionnelle si tu veux que ton application fonctionne sans afficher le PHP directement dans ta page web.

Posté : 27 avr. 2007, 15:41
par Jerem
Je te remercie pour ta réponse :wink:

Posté : 27 avr. 2007, 15:41
par Ryle
Outre les inconvénients que peut entrainer l'utilisation des short open tags, la syntaxe "<?= "valeur" ?>" correspond effectivement bien à "<? echo "valeur"; ?>". Pas besoin du echo, pas besoin de point virgule :)

Ps : et au pire, si le serveur impose l'utilisation des tags normaux, il existe de nombreux éditeurs qui permettent de rechercher et remplacer des chaines dans des fichiers.. il est toujours possible de leur faire rechercher l'un et de le remplacer par l'autre sans se fatiguer plus que ça ;)