2009-11-27 5 views

Répondre

37

La première est une variante sûre tag ouvrir et fermer, la deuxième est ce que l'on appelle la balise courte ouverte. Le second n'est pas toujours disponible, utilisez la première option si c'est possible. Vous pouvez vérifier la disponibilité des balises ouvertes courtes dans php.ini, à l'adresse short_open_tag.

+1

J'ai aussi trouvé un code comme celui-ci est cela aussi PHP? – Vincent

+1

'' est équivalent à '' – beginner

2

Il n'y a pas de différence.

La possibilité d'utiliser <? ?> est définie dans votre fichier php.ini - généralement accessible uniquement par l'hôte du serveur.

Vous pouvez trouver plus d'informations here

+1

Il est généralement défini dans php.ini – erenon

+1

php.ini, pas phpinfo.ini;) –

+0

Ahah! erreur facile à faire;) –

1

Rien AFAIK, mais je l'ai eu (serveurs partagés) où les paramètres ne prennent pas en charge les balises sténographie <? ?>, donc je colle habituellement avec le <?php ?> pour faire bonne mesure.

38

Le problème avec les balises ouvertes courtes est que les éléments suivants:

<?xml version="1.0" ?> 

causera des problèmes si vous êtes autorisé à utiliser des balises courtes (c.-à-<? et ?>). <?php est moins susceptible d'être mal interprété.

Que vous soyez autorisé ou non à utiliser des balises courtes est défini par la directive ini short_open_tag.

+0

Merci d'avoir souligné un point de douleur potentiel! –

3

Aussi je pense que les étiquettes courtes sont supprimées dans l'une des versions upcomming.

Edit: J'avais tort.

Adieu <% Ils retirera le support pour les balises de style ASP, mais la balise court de code PHP restera - si à ceux général php qui estiment le court-tag est 'depreceated' - Hé! ;)

http://phpmysqldev.blogspot.com/2007/05/php-6.html

+0

des liens à la source? –

+0

Mis à jour. Désolé pour ça. – LiamB

1

Remarque short_open_tag = Off n'a pas d'effet le <?= étiquette abrégée, ce qui équivaut à <?php echo

Questions connexes