La syntaxe
Extensions de fichiers
Chaque script PHP doit posséder une extension de fichier qui sera reconnue par le serveur afin d’être transmis à l’interpréteur PHP. Cette extension de fichier est de manière standard .php et vous devez donc nommer vos fichiers en conséquence. Bien que cette extension soit utilisée de manière universelle par tous, vous êtes libres d’utiliser toute autre extension, en autant que vous configuriez votre serveur afin qu’il puisse les reconnaître. Avec Apache, il suffit d’ajouter ou de modifier la ligne suivante dans le fichier de configuration httpd.conf du serveur :
# Une seule extension AddHandler application/x-httpd-php .php # Plusieurs extensions AddHandler application/x-httpd-php .php .phtml
Cette liberté de configuration vous permet, dans certains cas, de dissimuler l’utilisation de PHP grâce à une extension banale tel que .html.
Balises
Les balises permettent d’indiquer au moteur PHP que vous débutez une série d’instructions PHP, ainsi vous devez insérer les instructions entre les balises <?php et ?> ou <? et ?>. Cependant nous vous recommandons grandement la première alternative, soit <?php et ?> afin d’être compatible à 100% avec tous les types de configuration. En effet, toutes les autres syntaxes nécessitent l’activation de directives dans le fichier de configuration php.ini de PHP. La syntaxe courte nécessite l’activation de la directive short_tags (qui est normalement activée par défaut) et la syntaxe ASP nécessite l’activation de la directive asp_tags qui ne l’est pas par défaut.
<?php // Syntaxe recommandée ?> <? // Syntaxe courte (short_tags) ?> <% // Syntaxe ASP (asp_tags) %> <script language="php"> /* Rarement utilisée et même déconseillée * Cette syntaxe a été instauré au début de PHP3 * afin de supporter les éditeurs comme FrontPage **/ </script>
Majuscules et minuscules
PHP n’est pas case sensitive (sensible à la casse), c’est-à-dire qu’il ne fait pas la différence entre les majuscules et les minuscules. Ainsi les fonctions Affichage() et affichage() seront reconnues comme une seule et même fonction. Cependant les noms de variables font exception à cette règle et sont case sensitive. $variable et $Variable sont donc deux variables bien distinctes. Quant aux constantes, cela dépend de vous. Référez-vous au cours Les constantes pour plus d’informations.
Séparation des instructions
La séparation des instructions s’effectuent, comme dans la majorité des langages, à l’aide du point-virgule (;). Ce caractère est très important puisqu’il est nécessaire à la bonne exécution du script et son omission génèrerait des erreurs de la part du parseur. Ces erreurs sont appelées Parse error et il s’agit de l’erreur la plus commune à tous programmeurs. Mais n’ayez craintes puisque si vous rencontrez ce genre d’erreur, tout comme tous autres types d’erreurs, PHP vous indiquera de manière relativement précise l’emplacement de celle-ci.
L’exemple suivant montre que si vous n’avez qu’une seule instruction, le point-virgule n’est pas nécessaire puisque la balise de fermeture ?> indique implicitement la fin d’une instruction.
<?php echo 'Hello World!'; ?><?php echo 'Bonjour!' ?>
Bloc d’instructions
Un bloc d’instructions est un ensemble d’instructions regroupées et délimitées au début et à la fin grâce aux caractères { et }. Les blocs d’instructions permettent la création de structures conditionnelles, de boucles, de fonctions et plus encore.
<?php function maFonction() { // Bloc d'instructions }if (condition) { // Bloc d'instructions } ?>
Les commentaires
Les commentaires vous permettent de documenter vos scripts. La documentation est essentielle à tout projet puisqu’elle permet d’expliquer aux prochains auteurs ou à vous-même la logique qui se cache derrière votre script.
<?php # Début de l'exemple // Ceci est une commande echo 'Hello World!'; /* Ceci est l'exemple traditionnelle Il permet "d'imprimer" du HTML */ ?>
Les // permettent de mettre en commentaires tout le reste d’une ligne, incluant les balises de fermetures rencontrées. Le # permet de commenter tout le reste d’une ligne ou jusqu’à ce qu’il rencontre une balise de fermeture. Les /* et */ mettent en commentaire tout un bloc.
Toute imbrication de commentaires est interdite au risque de générer des erreurs lors de l’interprétation.