PHP/Syntaxe du langage

Une page de Wikiversité.

< PHP
Syntaxe du langage
Chapitre 2
Leçon : PHP
Chap. préc. : Premier script
Chap. suiv. : Structures de contrôle

En raison de limitations techniques, la typographie souhaitable du titre, « PHP : Syntaxe du langage
PHP/Syntaxe du langage
 », n'a pu être restituée correctement ci-dessus.

Sommaire

[modifier] Séparateur d'instruction

Un script PHP est une suite d'instructions ordonnant à l'ordinateur d'effectuer certaines opérations. Comme dans la plupart des langages informatiques (C, Java, Perl…), chaque instruction doit être terminée par un point-virgule. Ce dernier permet de délimiter les instructions qui seront exécutées par le serveur PHP.

L'oubli d'un point-virgule déclenchera une erreur ou un fonctionnement incorrect du script. Il est donc indispensable d'être vigilant.

Il est à noter que la balise fermante ?> joue le rôle de point-virgule. Le point virgule de la dernière instruction est, par conséquent, optionnel, mais fortement recommandé. C'est plus clair, et il vaut mieux prendre dès le début l'habitude de terminer ses instructions par un point-virgule.

[modifier] Commentaires

Un commentaire est une portion de code qui n'est pas exécuté par PHP.

PHP supporte deux types de commentaires :

  • Les commentaires sur une seule ligne : ils sont délimités par // ou # et la fin de la ligne
  • Les commentaires sur plusieurs lignes, délimités par /* et */

Exemple :

/* Script affichant
   le texte "Bonjour" */
 
echo('Bonjour'); // affichage
 
# fin du script

PHP ne traitera que la partie echo('Bonjour'); car le reste est commenté.

Les commentaires sont indispensables dans un script. Ils permettent de documenter le code afin d'en améliorer sa lisibilité et d'en faciliter la maintenance. De plus, ils permettent de tester des parties de script en en occultant d'autres.

[modifier] Variables

Les variables sont un élément indispensable à tout langage de programmation. C'est grâce à elles que vous pourrez sauvegarder des données entre chaque instruction. En PHP, chaque variable doit débuter par un dollar $. Comme PHP n'est pas typé (sauf cas très particulier en PHP5), vous pouvez affecter vos variables de la manière qu'il vous plaît avec des chaînes, des entiers … De plus, une variable n'a pas besoin d'être déclarée pour être utilisée : vous pouvez directement l'affecter avec le signe =.

Plus fort, si vous incrémentez une variable qui n'existe pas encore (cf ci-dessous) en faisant $variable++;, alors $variable prendra la valeur 1. PHP l'a implicitement initialisé à 0.

//utilisation des variables
$var = 64;
$var = 'Chaine !';   //on passe d'un entier à une chaine sans soucis
$foo = $var;

Les variables ne sont pas conservées entre les pages. Une fois votre script terminé, toutes les variables crées seront détruites. Il sera donc nécessaire des les sauvegarder en utilisant, par exemple, le mécanisme des sessions PHP.

Les noms de variables suivent ne peut pas contenir n'importe quel caractère.Pour qu'un soit valide, il doit commencer par une lettre (majuscules/minuscules) ou un souligné (_), suivi de lettres (majuscules/minuscules), chiffres ou soulignés.

[modifier] Opérateurs

Le langage PHP définit naturellement une liste d'opérateurs, permettant d'effectuer en ensemble d'opération simple. Voici la liste:

[modifier] Opérateur binaire d'affectation

Comme vu ci-dessus, il s'agit du signe égal : "=", utilisable tant avec les nombre qu'avec les chaine.

$var = 5;
$foo = $var;

[modifier] Opérateurs binaires de calcul

  • l'addition est réalisée avec le symbole "+".
  • la soustraction est réalisée avec le symbole "-".
  • la multiplication est réalisée avec le symbole "*".
  • la division est réalisée avec le symbole "/".

Exemple:

$var = 25;
$foo = 12 + $var / 15 - $var; 
/* $foo vaut maintenant -11.33333… 
   (Voir priorité des opérateurs, plus bas) */

Veuillez noter qu'il existe un raccourci pour ces quatre opérateurs : +=, -=, *=, /=, qui s'utilise lorsque l'on veut effectuer une opération sur une variable. La formule de base est :

var = var opérateur variable|valeur devient var opérateur= variable|valeur.

L'opération réalisée est la même, mais un petit exemple devrait vous éclairer :

$var = 2;
$var = $var + 5;    //$var vaudra  2+5, soit 7
$var += 5;          //c'est la même chose !
$var /= 2;          //var vaudra 12/2, soit 6. C'est la même chose que $var = $var / 2

[modifier] Opérateurs de comparaisons

Ceux-ci fonctionnent de gauche à droite: valeur comparé symbole valeur comparente. Ils retournent un booléen qui vaut vrai si la condition testée est juste, faux sinon.

Voici la liste des opérateurs possibles:

  • >  : est supérieur à
  • <  : est inférieur à
  • >=  : est supérieur ou égal à
  • <=  : est inférieur ou égal à
  • ==  : est strictement égal à
  • === : est strictement égal à et est de même type (Boolean, Entier, String, Objets, …)

Exemple d'utilisation:

$var = 25;
echo $var > 26;   //affichera false (faux) car 25 n'est pas supérieur à 26
echo 50 == 21;    //idem
echo $var <= 54;  //affichera true (vrai) car 25 est bien inférieur ou égal à 54

Note: Vous ferez toujours très attention à ne pas confondre les symboles "=" et "==". C'est une erreur courante de débutant.

[modifier] Concaténation

La concaténation revient à "coller" deux chaînes de caractère entre elles. L'opérateur utilisé est le ".".

Exemple basique:

$foo = 'chaine1' . 'chaine2';         //foo vaudra "chaine1chaine2"
$foo .= 'chaine3';                    //foo vaudra "chaine1chaine2chaine3". On peut utiliser ".=" de la même manière que pour les    opérateurs +,-,*,/.

Notez bien qu'en PHP, presque tout peut être concaténé.

[modifier] Opérateurs unaires

  • Le signe ! correspond à l'inverse (ainsi en valeur booléen, vrai devient faux et vice-versa).

On peut coupler ce symbole à ceux précédent pour inverser le résultat d'une comparaison:

$var = 25;
echo !($var > 26);   //affichera true (vrai) car 25 n'est pas supérieur à 26. Équivaut à $var <= 26;

Dans le code ci-dessus, l'opérateur ">" reverra la valeur false car 25 n'est pas supérieur à 26. Cependant, l'opérateur unaire "!" renverra à son tour l'opposé, soit true.

[modifier] Opérateurs d'incrémentations

Apparus en C, ces opérateurs ont été repris en PHP. l'opérateur ++ signifie "ajouter 1" et l'opérateur -- signifie "retrancher 1".

$var = 5;
$var++;   //$var vaut 6
$var++;   //$var vaut 7
$var--;   //$var revaut 6

CF en fin de chapitre pour la différence entre pre et post-incrementation.

[modifier] Priorité entre les opérateurs

Le PHP n'interprète pas une suite d'opérateurs linéairement, de gauche à droite. Il le fait en fonction de la priorité lié à chaque opérateur utilisé (comme en maths où la multiplication prime sur l'addition). Voici la hiérarchie des opérateurs, des plus prioritaires jusqu'au moins prioritaire:

  • =
  • ++ et --
  • * et /
  • + et -
  • <, >, <=, >=, == et !

Si deux signes de mêmes priorités sont utilisés, alors le PHP les traite de gauche à droite.

On peut cependant modifier la priorité des termes grâce aux parenthèses. Une opération entre parenthèse sera effectuée en priorité, quel que soit son opérateur, et si des parenthèses sont imbriquées, on calcule en premier la plus petite.

Exemple d'utilisation des priorités:

$var = 2+6*4;     //sera calculé 6*4 en premier, puis 2 seront ajoutés
$var = (2+6)*4;   //sera calculé 2+6, puis la multiplication par 4
$var = ((2+6)*5)/(3+4);    //seront calculés: 2+6, multiplié par 5, puis 3+4, et enfin la division entre les deux.

[modifier] Lien externe

PHP
Premier script