Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Apprendre à développer des applications web avec PHP et Symfony (2e édition)
  3. Le langage PHP
Extrait - Apprendre à développer des applications web avec PHP et Symfony (2e édition)
Extraits du livre
Apprendre à développer des applications web avec PHP et Symfony (2e édition)
2 avis
Revenir à la page d'achat du livre

Le langage PHP

Comment écrire du PHP ?

Retournez dans votre éditeur Visual Studio Code et cliquez sur l’onglet index.php

Nous allons écrire notre premier code dans ce fichier.

Tous les noms de fichiers PHP doivent se terminer par .php (exemple : monFichier.php). Évitez les caractères spéciaux dans vos noms de fichiers (/, >, <, ?, !...) et les caractères accentués (é, à, ù…) ainsi que les espaces.

Si vous donnez à votre fichier un nom autre que index.php, vous devrez le préciser sur le navigateur dans la barre d’adresse (nous verrons cela plus tard).

Nous allons commencer par écrire du code dans notre fichier index.php. Tout code PHP est encastré dans les mêmes instructions :

<?php 
... quelque chose en php 
?> 

Bien que votre fichier se termine par .php, il faut en effet lui préciser ces balises à l’intérieur pour écrire du PHP. Pourquoi ?

Parce que votre fichier PHP peut aussi contenir du texte libre ou du code HTML qui sera interprété tel quel par le navigateur.

Exemple

<h1>Mon titre en HTML</h1> 
<?php 
// mon code PHP 
?>   

La page affichée commencera ici par un titre en gras : Mon Titre en HTML.

Ainsi, un fichier PHP (avec l’extension .php) peut contenir du code mixte avec des parties en HTML...

Les bases du langage : votre premier Hello World !

Nous allons juste écrire une ligne de code permettant d’afficher sur le navigateur :

Hello World ! 

On a l’habitude de souvent écrire du texte en anglais, la langue la plus utilisée en informatique, mais vous pouvez toujours écrire « Bonjour le monde ! » si vous le souhaitez.

L’instruction PHP qui permet d’afficher quelque chose sur le navigateur s’appelle : echo.

 Écrivez ce code dans le fichier index.php :

<?php 
echo 'Hello World !'; 
?> 

On remarque qu’il faut mettre le texte entre les ’ (quotes) pour le distinguer du code, et que l’instruction se termine par un point-virgule.

Toutes les instructions PHP se terminent par un point-virgule. Si vous l’oubliez, vous aurez une erreur sur votre navigateur.

 Attention, n’oubliez pas de sauvegarder votre fichier : [Ctrl] S (il faudra à chaque fois que vous modifiez un fichier, sauvegarder les modifications).

Comment voir le résultat de votre code sur votre navigateur comme le verrait un internaute ?

Si votre WAMP est toujours allumé (W vert dans la barre des tâches, sinon pensez à le redémarrer). Ouvrez un navigateur (le mieux est d’ouvrir Firefox) et tapez l’adresse suivante dans la barre d’adresse :...

Les variables en PHP

Les premiers de ces outils sont les variables.

Une variable permet de stocker une information pour pouvoir la réutiliser autant de fois qu’on le souhaite dans le code. Nous pouvons également faire des opérations entre des variables (les ajouter, les multiplier…).

Toutes les variables en PHP commencent par un $. C’est comme cela qu’on les identifie. Le nom d’une variable doit respecter les mêmes règles que les noms de fichiers (pas de caractères spéciaux, de caractères accentués, ni d’espace).

Exemple de variable : $texte

Si vous voulez utiliser des noms de variables avec plusieurs mots, l’usage est de distinguer chaque mot sauf le premier par une majuscule (ce n’est pas obligatoire, mais c’est un standard d’écriture). C’est ce qu’on appelle la norme camelCase ou dromedaryCase.

Exemple : $monTexte

Vous pouvez créer dans votre code autant de variables que vous le souhaitez.

Toutes les variables sont supprimées à la fin de l’exécution du code.

Il est possible d’affecter du texte à une variable :

<?php 
$monTexte='Hello World !'; 
?> 

À quoi cela sert-il ?

À chaque fois que vous voudrez afficher ce texte n’importe où dans votre code, vous utiliserez le nom de la variable. L’un...

Les déclarations de type en PHP

Vous l’avez compris, les variables sont définies suivant leur type. Nous appelons TYPE DE VARIABLE, la nature de la valeur qu’elle peut stocker. Est-ce que la variable est de type numérique (exemple : $prix=20;) ou alphanumérique (exemple : $nom=’yves’ ;) ?

Selon le type de la variable, son comportement et son affichage diffèrent. Par exemple, je peux faire des opérations sur les variables de type numérique, mais pas sur les variables de type alphanumériques.

Il existe en PHP, différents types de variables, les voici énumérées :

Null : la variable ne peut prendre qu’une seule valeur, la valeur null. Elle existe, mais ne contient rien. On peut déclarer des variables sans leur assigner de valeur. Il suffit d’écrire : $mavariable=null ;. Cette variable sera censée contenir une valeur plus tard, dans le code.

Bool : ces variables ne peuvent prendre que deux valeurs : true ou false. Nous verrons dans la section suivante (Les structures de contrôle) l’intérêt d’un tel type.

Int : ce sont des variables numériques entières. Elles ne peuvent contenir que des nombres entiers (pas de nombres décimaux). Exemple : $prix=10 ;

Float : ce sont des variables numériques à virgule flottante...

Les structures de contrôle

Notre code doit faire mieux que d’être une simple calculette. Il doit pouvoir faire des choix. Le cas le plus classique est de tester la valeur d’une variable et d’exécuter une série d’instructions en fonction de la valeur de cette variable.

Pour cela, il faut utiliser ce qu’on appelle une structure de contrôle, c’est-à-dire une instruction qui inclut un ensemble d’instructions en fonction de certaines conditions. C’est l’instruction if.

1. La structure de contrôle if

Cette structure de contrôle s’appelle if (« si » en français) et est délimitée par les caractères { et } (accolades). Vous pouvez les écrire, sous Windows, en utilisant les touches : [AltGr] 4 pour { et [AltGr] = pour } (sur Mac : [Alt] 5 et [Alt] °).

Syntaxe :

if (condition){ 
 
    suite d'instructions 
 
} 

Nous pouvons également ajouter un autre bloc qui s’exécutera si la condition n’est pas vérifiée (si … sinon…).

if (condition){ 
 
    suite d'instructions 
 
}  
else { 
 
    suite d'instructions 
 
} 

Notez que l’on peut utiliser l’autocomplétion. Visual Studio Code vous propose, si vous tapez if, de compléter par un bloc if...else....

La condition va permettre de tester la valeur d’une variable. En fonction du résultat de ce test, la suite d’instructions va s’exécuter ou non.

Les opérateurs des tests sont les suivants :

  • == égalité

  • === égalité en valeur et en type. ( ’bonjour’ est de type string et 10 est de type int)

  • > strictement supérieur

  • >= supérieur ou égal

  • < strictement inférieur

  • <= inférieur ou égal

  • != différent

Reprenons l’exemple ci-dessus, mais cette fois, nous voulons afficher « Rupture de stock » si la quantité de produit est égale à 0 :

<?php 
$prix=20; 
$quantite=0; 
$tva=0.196; 
$total=$prix*$quantite*$tva; 
 
if ($quantite==0){ 
 
    echo "Rupture de stock";  
 
}  
else { 
 
    echo "Total Prix TTC : $total euros";  
 
} 

Bien entendu, ici le code n’a pas d’intérêt puisque $quantite est toujours à zéro mais on peut imaginer que dans la réalité, $quantité contiendra une valeur provenant des bases de données des produits, par exemple.

Attention à l’opérateur == : si vous oubliez et ne mettez qu’un seul = dans la condition, le test sera faux.

Poussons plus loin : nous avons la possibilité d’imbriquer plusieurs if successifs avec l’instruction else if (sinon si). La syntaxe est : elseif ou else if.

<?php 
if (condition){ 
 
    suite d'instructions 
 ...

Les fonctions PHP

Après avoir vu les variables, qui permettent de sauvegarder des informations, les structures de contrôle qui permettent d’ajouter des blocs d’instructions, voici les fonctions qui permettent de ré-exécuter du code.

Une fonction est simplement un bloc de code qu’il est possible d’appeler plusieurs fois, n’importe où dans le script. L’intérêt de cette fonctionnalité est de mieux structurer le code en différents éléments indépendants (comme des modules indépendants).

La création d’une fonction se fait par le mot-clé: function.

Syntaxe :

function nomDeLaFonction() 
{ 
   suite d'instructions 
} 

Attention les () sont obligatoires. Il n’y a pas de ; à la fin de la déclaration d’une fonction. Le nom de la fonction reprend les mêmes conventions que les noms de variables c’est-à-dire la norme camelCase (pas de caractères spéciaux, de caractères accentués, ni d’espace).

L’appel de cette fonction à l’endroit dans le code où l’on souhaite l’exécuter se fait en invoquant simplement le nom de la fonction (attention les () doivent être utilisées pour préciser qu’on appelle une fonction et non une variable).

Syntaxe :

<?php 
... 
nomDeLaFonction(); 
... 

Il est possible, par exemple, de reprendre le code qui parcourt le tableau $produit défini ci-dessus et de l’inclure dans une fonction qu’on appellera : afficherProduits()

<?php 
function afficherProduits() 
{ 
    $produit=["nom"=>"imprimantes", "quantité"=>10, "prix"=>300, 
    "rupture"=>true]; 
 
   foreach($produit as $key=>$valeur) { 
 
          echo ($key=="rupture")?($valeur)?"Rupture de stock":"": 
    $key.": ".$valeur."<br>";  
 
    } 
} 

La fonction ne va s’exécuter que si on l’appelle. Elle peut être exécutée autant de fois que l’on veut : afficherproduits().

Exemple

Appel à la fonction afficherProduits.

<?php 
 
afficherProduits(); 
 
 
// déclaration de la fonction 
function afficherProduits() 
{ 
    $produit=["nom"=>"imprimantes", "quantité"=>10, "prix"=>300, 
    "rupture"=>true]; 
 
    foreach($produit as $key=>$valeur) { 
 
          echo ($key=="rupture")?($valeur)?"Rupture de stock":"": 
    $key.": ".$valeur."<br>"; 
 
    } 
} 

L’ordre, dans votre script, entre la déclaration de la fonction et son appel importe peu. Lors de l’appel, PHP va rechercher...