Chapitre 5. La syntaxe de base

Table des matières
Passer du HTML au PHP
Le séparateur d'instructions
Commentaires

Passer du HTML au PHP

Lorsque PHP commence à traiter un fichier, il ne fait qu'afficher le texte qu'il rencontre, jusqu'à ce qu'il rencontre une balise spéciale qui lui indiquera qu'il peut interpréter le code qui suit. L'analyseur PHP va alors exécuter ce code, jusqu'à ce qu'il rencontre une balise de fin de code PHP. A ce moment là, il retourne en mode texte, et il affiche simplement le contenu. C'est ce mécanisme qui vous permet d'inclure du code PHP dans des pages HTML : tout ce qui est placé hors des balises PHP est affiché sans modification, tandis que le contenu est exécuté.

Il y a quatre jeux de balises qui servent à délimiter des blocs de code PHP. Seules deux d'entre elles sont toujours actives : c'est <?php. . .?> et <script language="php">. . .</script>). Tandis que les autres peuvent être activées et désactivées depuis le fichier de configuration php.ini. Les balises courtes et les balises ASP peuvent être pratiques, mais elles ne sont pas aussi portables que les versions longues. De plus, si vous envisagez d'inclure du PHP dans des fichiers XML ou XHTML, vous devrez utiliser la forme <?php. . .?> pour vous conformer au XML.

Exemple 5-1. Le passage du HTML à PHP

<?php
1.  
<?php echo("Si vous voulez afficher du XML ou du XHTML, faites comme ceci.\n"); ?>

2.  <? echo ("Ceci est un exemple d'affichage &agrave; l'&eacute;cran en PHP, sous forme d'expression SGML.\n"); ?>
    <?= expression ?>  Raccourci de "<? echo expression ?>"

3.  <script language="php">
        
echo ("Certains &eacute;diteurs HTML (comme FrontPage)
         n'acceptent pas les expressions telles que celle-ci."
);
    
</script>

4.  <% echo ("Vous pouvez aussi utiliser le style ASP comme d&eacute;limiteur."); %>
    <%= $variable; # ceci est un raccourci pour  "<%%echo .." %>
?>

La première méthode est généralement utilisée, car elle permet une implémentation aisée de PHP avec la prochaine génération de XHTML.

La deuxième forme n'est valable que si vous l'avez activée. Soit en faisant appel à la fonction short_tags() (uniquement en PHP 3), soit en utilisant l'option d'exécution short_open_tag dans le fichier de configuration php.ini, soit encore en utilisant l'option de compilation --enable-short-tags. Même si les balises courtes sont activées dans le fichier de configuration php.ini-dist, leur utilisation est déconseillée.

La quatrième forme est seulement disponible si vous l'avez activée en utilisant l'option d'exécution asp_tags.

Note : Le support des balises ASP a été ajouté en PHP 3.0.4.

Note : L'utilisation des balises courtes doit être évitées lors du développement d'applications et de librairies destinées à être distribuées ou déployées sur des serveurs qui sont hors de votre contrôle, car ces balises ne seront pas forcément supportées par le serveur de destination. Pour rendre vos scripts portables et faciles à distribuer, évitez les balises courtes.

La marque de fermeture d'un bloc (?>) comprend le caractère de nouvelle ligne qui le suit immédiatement, s'il y en a un. De plus, la balise fermante implique un point-virgule. Vous n'êtes pas obligés de mettre le point-virgule à la fin d'un bloc de PHP.

PHP vous permet d'utiliser des structures telles que :

Exemple 5-2. Méthode avancée

<?php
  
if ( expression-bool&eacute;enne ) {
?>
  <strong>Ceci est vrai.</strong>
<?php
  
} else {
?>
<strong>Ceci est faux.</strong>
<?php
  
}
?>
Cela fonctionne comme on peut s'y attendre, car PHP affiche le texte entre les balises ?> et <?php sans modification. L'exemple ci-dessus est très simple, mais c'est un bon système à garder en tête pour afficher de grandes quantités de texte : c'est même plus efficace que d'utiliser les fonctions echo() ou print().