PHP est souvent accompagné de l'éléPHPant, dessiné par El Roubio. Il s'est inspiré de la ressemblance des lettres PHP avec un éléphant, d'où le nom. Toutes ses œuvres sont distribuées sous licence GNU GPL. Il existe aussi des origamis et des peluches ÉléPHPant.
Quelques exemples du traditionnel Hello world :
// forme la plus simple, recommandée echo 'Hello World'; // équivalent à la fonction printf() du langage C printf('Hello %s', 'World'); ?>
echo étant une structure du langage, il est possible – et même recommandé – de ne pas mettre de parenthèses, ce qui lui permet en plus d'accepter plusieurs paramètres :
echo 'Hello ', 'World'; ?>
Résultat affiché :
Hello World
Le code PHP doit être inséré entre des balises et ?>.
Il existe des notations raccourcies : et ?>, voire la notation ASP <% et %>, mais celles-ci sont déconseillées, car elles peuvent être désactivées dans la configuration du serveur : la portabilité du code est ainsi réduite. De plus, PHP 6 interdira ces notations, ce qui compromettra la compatibilité des scripts utilisant ces balises avec les futures versions de PHP.
Il existe aussi cette syntaxe, peu courante : et .
Les instructions sont séparées par des ";" (il n'est pas obligatoire après la dernière instruction) et les sauts de ligne ne modifient pas le fonctionnement du programme. Il serait donc possible d'écrire :
echo 'Hello World'; echo 'Comment allez-vous ?'; echo 'Il fait beau non ?' ?>
Pour des raisons de lisibilité, il est néanmoins recommandé d'écrire une seule instruction par ligne. Il est aussi préférable d'écrire le dernier ";".
Le code PHP est composé d'appel à des fonctions, dans le but d'attribuer des valeurs à des variables, le tout encadré dans des conditions, des boucles. Exemple :
// la fonction strtolower renvoie en minuscules la chaîne de caractères passée en paramètre $lang = strtolower($_POST['lang']); if ($lang === 'fr') echo 'Vous parlez français !'; elseif ($lang === 'en') echo 'You speak English!'; else echo 'Je ne vois pas quelle est votre langue !'; ?>
Une condition est appliquée quand l'expression entre parenthèses est évaluée à 'true', et elle ne l'est pas dans le cas de 'false'. Sous forme numérique, 0 représente le 'false', et 1 (et tous les autres nombres) représentent le 'true'.
Le code précédent pourrait aussi être écrit de cette manière :
$lang = strtolower($_POST['lang']); $is_lang_fr = $lang === 'fr'; $is_lang_en = $lang === 'en'; if ($is_lang_fr) echo 'Vous parlez français !'; elseif ($is_lang_en) echo 'You speak English!'; else echo 'Je ne vois pas quelle est votre langue !'; ?>
Ici on teste l'égalité entre $lang et "fr", mais pas directement dans le if : le test retourne un boolean (c'est-à-dire soit true, soit false) qui est stocké dans la variable $is_lang_fr. On entre ensuite cette variable dans le if et celui-ci, selon la valeur de la variable, effectuera ou non le traitement.
Aussi, pour les codes précédents, les caractères "{" et "}" délimitant les blocs if, elseif et else ont été omis, pour la seule raison que ces blocs ne contenaient qu'une instruction, dans le cas contraire, ils sont obligatoires.
On peut tout à fait générer du code HTML avec le script PHP, comme ceci par exemple :
$nom = 'Albert'; echo 'Bonjour ', $nom, ' !'; ?>
Attention toutefois, la présence de beaucoup de code HTML au sein de code PHP dénote souvent une mauvaise conception du programme. Dans la partie affichage d'une application Web PHP, il faut penser PHP comme un langage de template, comme le montre l'exemple de code suivant (utilisant une syntaxe alternative pour la structure if/else) :
$nomsAutorises = array('Albert', 'Bertrand'); $nomEnCours = 'Eve'; ?> if (in_array($nomEnCours, $nomsAutorises)) : ?> Bonjour echo $nomEnCours ?> !
else : ?> Vous n'êtes pas un utilisateur autorisé !
endif ?>