Lorsque PHP traite un fichier, il cherche les balises d'ouvertures et
de fermetures, qui délimitent le code qu'il doit interpréter. De cette
manière, cela permet à PHP d'être présent dans toutes sortes de documents,
car tout ce qui se trouve en dehors des balises ouvrantes / fermantes de
PHP est ignoré. La plupart du temps, vous verrez du code PHP dans des
documents HTML, comme dans l'exemple ci-dessous.
Exemple 10-1. Code PHP dans un document HTML
<p>Ceci sera ignoré.</p> <?php echo 'Alors que ceci sera analysé par PHP.'; ?> <p>Ceci sera également ignoré.</p>
|
|
Vous pouvez également utiliser des structures plus avancées :
Exemple 10-2. Echappement avancé
<?php if ($expression) { ?> <strong>Ceci est vrai.</strong> <?php } else { ?> <strong>Ceci est faux.</strong> <?php } ?>
|
|
Ceci fonctionne comme prévu parce que lorsque PHP rencontre
la balise fermante ?>, il commence simplement à afficher ce qu'il
rencontre jusqu'Ã ce qu'il rencontre une autre balise ouvrante.
L'exemple ci-dessus est simple, bien sûr, mais pour afficher de gros bloc
de textes, la mise à l'écart de ce type de bloc de l'analyseur de PHP est
plus efficace que d'envoyer la totalité du texte en utilisant les fonctions
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.
Note :
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.
Exemple 10-3. Balises d'ouvertures et de fermetures PHP
1. <?php echo 'Si vous voulez réaliser des documents XHTML ou XML, faites comme ceci'; ?>
2. <script language="php"> echo 'quelques éditeurs (comme FrontPage) n\'aiment pas ce genre d\'instructions'; </script>
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'ils 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 --enable-short-tags.
Note :
Si vous utilisez PHP 3, vous devez également activer les balises courtes
via la fonction short_tags(). Ceci
est uniquement disponible en PHP 3 !
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.
Note :
Le support des balises style ASP
a été ajouté en PHP 3.0.4.
Note :
L'utilisation des balises courtes doit être bani 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, redistribuable, n'utilisez
jamais les balises courtes.