Manuel PHP
Précédent |  | Suivant

# Chapitre 5. La syntaxe de base

# 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.

Les balises supportées par `PHP` sont :

Exemple 5-1. Le passage du HTML à `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 à l'écran en PHP, sous forme d'expression SGML.\n"); ?>
<?= expression ?> Raccourci de "<? echo expression ?>"
3. <script language="php">
echo ("Certains é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é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`, avec la commande configure. 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é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().

Précédent | Sommaire | Suivant
Référence | Niveau supérieur | Le séparateur d'instructions