PHP - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Mascotte

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.

Syntaxe

Hello world

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      

Balises

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

Instructions

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 ";".

Structures de contrôle

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.

Génération de code HTML

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 ?>
Page générée en 0.081 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise