Les short open tags
09:13 14 11 2005Une des options disponible dans le ficher de configuration de PHP, bien connu sous le nom de php.ini, est la possibilité d’activer (ou de desactiver) les short open tags :
short_open_tags = On (ou Off)
Les shorts open tags ont au départ été prévus…bah pour pas grand chose, tout simplement ouvrir son code PHP avec la balise <? au lieu d’utiliser la balise <?php. En soi, on pourrait se dire que cela est pratique, mais dans les faits l’utilisation des short open tags pose des problèmes.
En effet, les normes évoluent, le HTML est mort, vive le XHTML! Et avec cette nouvelle norme basée sur du XML, sont apparues de nouvelles balises. Il faudra nottament maintenant utiliser la balise <?xml version= »1.0″ …. pour ouvrir son document. Et c’est là que les short open tags viennent poser problème.
Avec les short open tags activés, un telle balise va être interprétée comme une ouverture de PHP, le code ‘xml version= »1.0″‘ va donc être parsé et générer une « syntax error ». Il ne sera donc pas possible de faire tourner des scripts au format XHTML sur un serveur ayant les short_open_tags activés.
La solution pour un code compatible va consister à utiliser les open tags traditionnels <?php et d’intégrer vos balises d’ouverture de fichier XHTML directement dans votre PHP sous la forme d’un echo :
<?php
echo ‘<?xml version= »1.0″ …..>’;
?>
De cette façon, votre code pourra tourner quelque soit la configuration de votre serveur
J’en profite pour signaler que la dernière version de WAMP5 (1.4.5) est passée en short_open_tags à Off, ce qui a entrainé de nombreux posts sur le forum du site.
Blogix avait fait un article à ce sujet :
http://qwix.media-box.net/index.php/2005/10/24/116-PourquoiIlNeFautPasUtiliserLesShortOpenTagsDePhp
Cyruss
[...] Beaucoup de pages expliquent cela très bien, en voici une au hasard http://blog.wampserver.com/index.php…ort-open-tags/ [...]
Ca marche aussi comme ca:
<xml version= »1.0″ encoding= »…
Le code ne s’affiche pas, ca devrait être :
<<??>xml …
–plus petit– –plus petit– –point d’interro.– –point d’interro.– –plus grand–
L’autre intérêt de Short open tags est de pouvoir écrire au lieu de . Cela fait un code plus lisible.
L’autre intérêt de Short open tags est de pouvoir écrire
au lieu de
. Cela fait un code plus lisible.
Désolé pour le doublon :-p.
et mince, tant pis ça ne marche pas.
ceci marche que short_open_tags soit activé ou non :
<<?php?>?xml version=…>