La syntaxe de baseBalises PHP
Lorsque PHP traite un fichier, il cherche les balises d'ouverture et
de fermeture (<?php et ?>)
qui délimitent le code qu'il doit interpréter. De cette
manière, cela permet à PHP d'être intégré dans toutes sortes de documents,
car tout ce qui se trouve en dehors des balises ouvrantes / fermantes de
PHP est ignoré.
PHP autorise aussi des balises dites "courtes" (<? et
?>) que nous vous conseillons vivement de ne pas
utiliser car elles ne sont seulement disponibles que lors de l'activation
de la directive de configuration short_open_tag
du &php.ini;, ou si PHP a été configuré avec l'option
.
Si un fichier est purement du code PHP, il est préférable de ne pas placer
la balise de fermeture à la fin du fichier. Ceci permet d'éviter d'oublier
un espace ou une nouvelle ligne après la balise de fermeture de PHP, ce qui
causerait des effets non voulus car PHP commencera à afficher la sortie,
ce qui n'est souvent pas ce qui est désiré.
Échappement depuis du HTML
Tout ce qui se trouve en dehors d'une paire de balises ouvrantes/fermantes
est ignoré par l'analyseur PHP, ce qui permet d'avoir des fichiers PHP
mixant les contenus. Ceci permet à PHP d'être contenu dans des documents
HTML, pour créer par exemple des templates.
Ceci sera ignoré par PHP et affiché au navigateur.
Ceci sera aussi ignoré par PHP et affiché au navigateur.
]]>
Ceci fonctionne comme prévu parce que lorsque l'interpréteur PHP rencontre
la balise fermante ?>, il commence simplement à afficher ce qu'il
rencontre (mise à part s'il est immédiatement suivi d'une nouvelle ligne
: voir l'instruction
de séparation) jusqu'à ce qu'il rencontre une autre balise ouvrante
même si PHP se trouve au milieu d'une instruction conditionnelle, au quel cas,
l'interpréteur va déterminer la condition à prendre en compte avant de prendre
une décision sur ce qui doit être afficher.
Voir le prochain exemple.
Utilisation de structures avec des conditions
Echappement avancé en utilisant des conditions
Ceci sera affiché si l'expression est vrai.
Sinon, ceci sera affiché.
]]>
Dans cet exemple, PHP va ignorer les blocs où la condition n'est pas remplie,
même si ils sont en dehors des balises ouvrantes/fermantes de PHP. PHP
va les ignorer suivant la condition vu que l'interpréteur PHP va passer
les blocs contenant ce qui n'est pas remplie par la condition.
Pour afficher de gros blocs de texte, il est plus efficace de sortir
du mode d'analyse de PHP plutôt que d'envoyer le texte via la fonction
echo ou
print.
Il y a quatre paires différentes de balises ouvrantes / fermantes qui
peuvent être utilisées dans PHP. Deux de ces balises, <?php ?> et
<script language="php"> </script>, sont toujours disponibles.
Les deux autres sont les balises courtes et les balises du style
ASP, et peuvent être activées ou désactivées
depuis le fichier de configuration &php.ini;. Cependant, malgré le fait que
des personnes trouvent les balises courtes et les balises du style
ASP pratiques, elles sont moins portables
et donc, généralement, non recommandées.
Notez également que si vous intégrez PHP dans des documents XML
ou XHTML, vous devez utiliser les balises <?php ?> pour rester
conforme aux standards.
Balises d'ouvertures et de fermetures PHP
2.
3. echo 'ceci est le plus simple, une instruction SGML'; ?>
= expression ?> Ceci est la version courte pour " echo expression ?>"
4. <% echo 'Vous pouvez optionnellement utiliser les balises ASP-style'; %>
<%= $variable; # Ceci est la version courte pour "<% echo . . ." %>
]]>
Bien que les balises vues dans les exemples un et deux sont toutes les
deux disponibles, l'exemple un est le plus communément utilisé
et le plus recommandé des deux.
Les balises courtes (troisième exemple) ne sont disponibles que s'elles ont
été activées via la directive
short_open_tag
du fichier de configuration &php.ini;, ou si PHP a été configuré
avec l'option .
Les balises du style ASP (quatrième exemple)
sont uniquement disponibles lorsqu'elles sont activées via la directive
asp_tags du fichier de configuration
&php.ini;.
L'utilisation des balises courtes doit être bannie lors de développements
d'applications ou de bibliothèques qui sont destinées à être
redistribuées, ou déployées sur des serveurs qui ne sont pas sous votre
contrôle, car les balises courtes peuvent ne pas être supportées sur le
serveur cible. Pour réaliser du code portable, qui peut être redistribué,
n'utilisez jamais les balises courtes.
En PHP 5.2 et antérieures, l'analyseur n'autorisait pas
un tag ouvrant <?php comme seul
élément d'une page. Ceci est permis à compter de la version
5.3 de PHP lorsqu'il y a un ou plusieurs espaces après
la balise ouvrante.
Depuis PHP 5.4, le tag echo court <?= est toujours reconnu
et valide, suivant la configuration de l'option
short_open_tag.
Séparation des instructions
Comme en C ou en Perl, PHP requiert que les instructions soient
terminées par un point-virgule à la fin de chaque instruction. La balise
fermante d'un bloc de code PHP implique automatiquement
un point-virgule ; vous n'avez donc pas besoin d'utiliser un point-virgule
pour terminer la dernière ligne d'un bloc PHP. La balise fermante
d'un bloc inclura immédiatement un caractère de nouvelle ligne si un
est présent.
Séparation des instructions
La balise fermante d'un bloc PHP à la fin d'un fichier est optionnelle,
et parfois, il est utile de l'omettre lors de l'utilisation de la fonction
include ou
de la fonction require,
car les espaces non désirés n'apparaîtront pas à la fin des fichiers, et ainsi,
vous pourrez toujours ajouter des en-têtes à la réponse plus tard. C'est utile
également si vous voulez utiliser l'affichage du buffer et que vous ne voulez pas
voir d'espaces blancs ajoutés à la fin des parties générées par les fichiers
inclus.
Commentaires
PHP supporte les commentaires de type C, C++ et Shell Unix (aussi
appelé style Perl). Par exemple :
Exemple de commentaire
]]>
Les commentaires sur une seule ligne ne commentent que jusqu'à la fin
de la ligne du bloc PHP courant.
Ceci signifie que le code HTML après // ... ?>
ou après # ... ?> SERA affiché :
?> terminera le mode PHP et retournera en mode HTML, et
// ou # n'influencera pas cela.
Si la directive de configuration asp_tags
est activée, ce comportement sera identique avec // %> et
# %>.
Cependant, la balise </script> ne terminera pas le mode PHP dans
un commentaire d'une seule ligne.
Les commentaires vont jusqu'à la fin de la ligne
Ceci est un exemple
La ligne ci-dessus affichera 'Ceci est un exemple'.
]]>
Les commentaires style 'C' commentent jusqu'à ce que le premier */
soit rencontré. Vous devriez faire attention aux commentaires style 'C'
nichés dans de gros blocs lorsque vous les commentez.
Les commentaires de type C
]]>