Vous êtes sur la page 1sur 15

École régionale du numérique - Développement d'une application Web

2018 – 2019

NOTIONS DE BASE DU LANGUAGE PHP


Chapitre 1

M. Ducongé - Barrère 1/15


École régionale du numérique - Développement d'une application Web
2018 – 2019

Table des matières


Introduction ....................................................................................................................................... 3
Le langage PHP c’est quoi ? .................................................................................................... 4
Définition ........................................................................................................................................... 4
Dans quel cas utiliser du PHP .............................................................................................................. 4
Les bases du langage PHP ....................................................................................................... 6
Introduction ....................................................................................................................................... 6
Les instructions et les commentaires .................................................................................................. 6
Types de données ............................................................................................................................... 6
Variables et constantes....................................................................................................................... 7
Déclaration et affichage d’une variable : ........................................................................................ 7
Concaténation de variables ............................................................................................................ 7
Les arrays ........................................................................................................................................... 7
Les opérateurs arithmétiques ............................................................................................................. 8
Les fonctions ...................................................................................................................................... 8
Fonctions définies par l’utilisateur .................................................................................................. 8
Fonctions PHP ................................................................................................................................ 9
Structures conditionnelles .................................................................................................................. 9
If / else if / else............................................................................................................................... 9
Switch .......................................................................................................................................... 11
Les boucles ....................................................................................................................................... 12
Debug............................................................................................................................................... 13
Inclusion de fichier ........................................................................................................................... 14
Conclusion ........................................................................................................................... 15

M. Ducongé - Barrère 2/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
Introduction

Ce document est un appui pour vos futures applications. Il reprend les notions de base du
langage PHP, le but n’est pas de faire un copié collé de la doc PHP. Je vous invite donc à le
compléter, faire des annotations ou mémos afin de pourvoir vous approprier ce langage. Nous
verrons pour l’instant que le style procédural puis dans un second temps la programmation
orienté objet.

N’oubliez pas que la meilleure manière d’apprendre est de pratiquer ! Bonne chance J

M. Ducongé - Barrère 3/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
LE LANGAGE PHP C’EST QUOI ?

Définition

Le PHP est un langage informatique utilisé sur l'internet et exécuté côté serveur. Le terme PHP
est un acronyme récursif de « PHP: Hypertext Preprocessor ». Ce langage est principalement
utilisé pour produire un site web dynamique. Il est courant que ce langage soit associé à une
base de données, tel que MySQL.

L’avantage de ce langage est qu’il est libre de droit et facile à comprendre. Il dispose d’une
grande communauté très active sur internet et dispose d’une large documentation pour répondre
à vos questions.

Dans quel cas utiliser du PHP

Comme évoqué plus tôt, le PHP sert à rendre dynamique un site internet qui été jusqu'à présent
statique. Ci-dessous un schéma d’un site statique :

Dans le cas présent, le serveur est alors utilisé uniquement pour renvoyer une page, rien de plus,
aucun traitement n’est effectué. Le serveur sert uniquement au stockage des pages et autres
fichiers.

Le navigateur va donc interpréter les langages clients, à savoir HTML, CSS et JS, pour construire
la page demandée.

L’utilisation d’un site statique se justifie lorsque son contenu change rarement comme pour des
pages temporaires ou des sites minimalistes sans interactions particulières.

M. Ducongé - Barrère 4/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
Ci-dessous un échange client-serveur pour un site dynamique :

La différence ici est qu’à chaque demande de l’utilisateur, la page est régénérée. C’est avec
cette méthode que le contenu d’un site change comme le fil d’actualité de Facebook.

Le PHP sert à interpréter toute la logique de l’application comme se connecter à la base de


données, faire des traitements etc. Le résultat de ces traitements est inséré dans la page HTML
qui est renvoyée au navigateur du client pour l’afficher à l’utilisateur.

M. Ducongé - Barrère 5/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
LES BASES DU LANGAGE PHP

Introduction

Comme décrit précédemment, le PHP est un langage serveur. Il faut donc installer un
environnement serveur en local (MAMP, LAMP, XAMP etc) pour pouvoir le faire fonctionner si
on souhaite tester son site sur sa machine.

Les fichiers PHP ont leur propre extension à savoir « .php ». Ce dernier peut être conjugué avec
du HTML pour dynamiser une page par exemple mais il peut également y avoir que du PHP,
comme dans une page de traitement de données pour un formulaire.

Point important, le premier fichier à être appelé est « index.php ».

Les instructions et les commentaires

Les ordres donnés au serveur sont appelés instructions et ont une syntaxe particulière. Il faut
obligatoirement respecter la bonne syntaxe sous peine de voir une erreur s’afficher et de faire
planter l’application.

Il est vivement recommandé de commenter son code afin de comprendre ce qui a été fait. C’est
utile lorsque vous devez modifier votre code ou le passer à un autre développeur.

Pour ce faire, deux syntaxes existent suivant votre besoin :


- Une ligne //
- Un bloc de ligne /* mes lignes à commenter */

Attention à ne pas couper des instructions en commentant votre code.

Types de données

Il existe plusieurs types de données, voici un tableau récapitulatif des types les plus utilisés :
NB : La liste ci-dessous n’est pas exhaustive.

Booléens true / false


Entiers 15
Nombre décimaux 15.5
Chaine de caractères toto
Objet instance d’une classe
Null valeur nulle (ne pas confondre avec vide)
tableaux Empilement de données

M. Ducongé - Barrère 6/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
Variables et constantes

Les données sont stockées dans des espaces mémoires. Suivant leurs utilisations ce sont soit
des variables soit des constantes. Attention à ne pas confondre entre ces dernières !!
Pour rappel : les constantes doivent être toujours déclarées en majuscules de telle sorte à les
identifier rapidement.

Déclaration et affichage d’une variable :

En PHP, les variables sont représentées par un signe dollar « $ » suivi du nom de la variable. Le
nom est sensible à la casse. Il est préférable d’utiliser la méthode « camelCase » si plusieurs
mots la composent. C’est une convention de nommage standard.

Pour donner une valeur à une variable, on parle d’assignation ou d’affectation, il faut utiliser le
caractère égal puis la donnée à ajouter.

Pour afficher le contenu d’une variable, il faut faire un « echo » puis le nom de la variable.
Chaque instruction se termine par un point-virgule.

$maVariable = 10 ;

Attention, si une variable reçoit plusieurs données à la suite, c’est la dernière qui sera stockée.

$maVariable = 10 ;
$maVariable = 50 ;
echo ($maVariable) ; // affichera 50

Concaténation de variables

Il est possible de mettre bout à bout des variables afin de reconstituer une phrase, utile lorsqu’on
souhaite personnaliser un message.

Exemple :
$prenom = ‘’John’’ ;
$nom = ‘’Doe’’ ;
$phrase = ‘’Bonjour ‘’.$prenom.’’ ‘’.$nom ; // affichera Bonjour John Doe

Les arrays

Un tableau permet de mettre plusieurs données dans une seule, ce qui est très pratique lorsqu’on
veut ranger proprement certaines valeurs.

Un tableau se défini avec la fonction array() et de la manière suivante :


$prenoms = array ('François', 'Michel', 'Nicole', 'Véronique', 'Benoît');

M. Ducongé - Barrère 7/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
Ne pas oublier que l’index d’un tableau commence toujours par 0 et s’incrémente de 1 en 1.
L’index de « François » est en 0, « Nicole » en index 2. On peut également définir un nom pour
les données, c’est plus simple à s’y retrouver. On parle alors de tableau associatif, la syntaxe
est la suivante :

$coordonnees = array (
'prenom' => 'François',
'nom' => 'Dupont',
'adresse' => '3 Rue du Paradis',
'ville' => 'Marseille');

Dans un tableau, on parle de clé valeur. Exemple, « prenom » est la clé de la valeur « François ».
Le parcours d’un tableau se fait à l’aide d’une boucle « foreach » qui se positionnera sur la
première clé puis la seconde etc pour pouvoir manipuler chaque valeur. Le chapitre sur les
boucles sera expliqué un peu plus tard dans le cours.

Il est possible de créer des tableaux d’une autre manière, plus fastidieuse…

$coordonnees['prenom'] = 'François';
$coordonnees['nom'] = 'Dupont';
$coordonnees['adresse'] = '3 Rue du Paradis';
$coordonnees['ville'] = 'Marseille';

Les opérateurs arithmétiques

Les opérations en PHP fonctionnent comme les calculs appris à l’école avec les opérateurs
classique (+, -, /,* etc). Il suffit de remplacer les chiffres ou nombres par variables.

Exemple :
$a = 10 ;
$b= 15 ;
$resultat = $b - $a; // affichera 5

Les fonctions

Fonctions définies par l’utilisateur

Elle est constituée de 3 choses : la déclaration « function », suivi du nom et des parenthèses
pour inclure des paramètres (non obligatoire) et des accolades pour contenir les instructions à
exécuter.

L’objectif est de regrouper au même endroit une fonctionnalité pour éviter les doublons de code
dans votre application, c’est le principe DRY (Don’t repeat yourself). C’est plus simple à
comprendre et évite les éventuelles erreurs puisque le code est centralisé.

M. Ducongé - Barrère 8/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
D’une manière générale, si vous devez faire du copié collé de plusieurs lignes, c’est qu’une
fonction aurait pu être utile, pensez-y J

Pour exécuter ses instructions, il suffit d’appeler cette fonction par son nom, voir exemple ci-
dessous.

function calcul ($a, $b){


$resultat = $a+ $b ;
return $result ;
}
echo function calcul(10, 20) ; // affichera 30

Fonctions PHP

Il existe des fonctions PHP natives et déjà implémentées et utilisable rapidement comme pour
avoir la date, convertir des caractères « htmlentities() » etc.

Toutes ces fonctions sont dans la documentation de PHP.

Structures conditionnelles

If / else if / else

Les structures conditionnelles permettent d’exécuter certaines instructions en fonction d’une


condition. On retrouve très souvent dans le développement. Si la condition est vérifiée, le code
entre les accolades suivantes sera alors exécuté.

Exemple :

If($condition1 == 0){
// je fais ça si la condition 1 est vraie
}else if($condition1 > 10){
// je fais ça si la condition 2 est vraie
}else{
// je fais ça si les conditions précédentes ne sont pas remplies
}

L’ordre des valeurs à vérifier dans la structure est à prendre en compte. Par exemple, si la
« conditon1 » est vraie et la « condition2 » aussi, seul le code dans le « if » sera exécuté car elle
vérifiée et retourne vraie avant les autres.

M. Ducongé - Barrère 9/15


École régionale du numérique - Développement d'une application Web
2018 – 2019

Comme dans l’exemple ci-dessus, il est fréquent d’utiliser des symboles de comparaison, voir
le tableau suivant :
Symbole Signification
= = (sans espace entre les =) Est égal à la valeur
= = = (sans espace entre les =) Est égal à la valeur est au type
> Est supérieur à
< Est inférieur à
>= Est supérieur ou égal à
<= Est inférieur ou égal à
!= Est différent de

On peut également combiner plusieurs conditions à vérifier. Pour ce faire il faut utiliser les
symboles suivants :
Mot-clé Signification Symbole équivalent
AND Et &&
OR Ou ||

M. Ducongé - Barrère 10/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
Switch

Dans certains cas, pour éviter la succession de « if / else if / else », il est préférable d’utiliser
une autre structure appelée « switch ». Le « default » à la même fonction que le « else », si
toutes les conditions dans les cases ne sont pas vraies, il sera exécuté.

Exemple :

$note = 10 ;
switch ($note) // on indique sur quelle variable on travaille
{
case 0: // dans le cas où $note vaut 0
echo "Tu es vraiment un gros nul !!!";
break;

case 5: // dans le cas où $note vaut 5


echo "Tu es très mauvais";
break;

case 7: // dans le cas où $note vaut 7


echo "Tu es mauvais";
break;

case 10: // etc. etc.


echo "Tu as pile poil la moyenne, c'est un peu juste…";
break;

case 12:
echo "Tu es assez bon";
break;

case 16:
echo "Tu te débrouilles très bien !";
break;

case 20:
echo "Excellent travail, c'est parfait !";
break;

default:
echo "Désolé, je n'ai pas de message à afficher pour cette note";
}

M. Ducongé - Barrère 11/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
Les boucles

Les boucles exécutent plusieurs fois les mêmes instructions déclarées entre ses accolades. Elles
sont utilisées dans les sites dynamiques pour afficher une liste d’actualités, messages etc. C’est
également avec une boucle que l’on peut parcourir un tableau.

Attention : une boucle ne s’arrête que quand la condition n’est plus remplie. Si vous avez une
condition qui ne change jamais, vous aurez une boucle infinie et votre navigateur sera bloqué.

Exemple :
while ($continuer_boucle == true)
{
// instructions à exécuter dans la boucle
}

for ($nombre_de_lignes = 1; $nombre_de_lignes <= 100; $nombre_de_lignes++)


{
echo 'Ceci est la ligne n°' . $nombre_de_lignes . '<br />';
}

On peut parcourir un tableau avec un « for », cependant il existe un boucle adapté pour les
tableaux, le « foreach ». Deux syntaxes sont correcte, la première ci-dessous affiche
uniquement la valeur et la seconde affiche en plus l’index du tableau appelé aussi clé.

Exemple :

$coordonnees = array (
'prenom' => 'François',
'nom' => 'Dupont',
'adresse' => '3 Rue du Paradis',
'ville' => 'Marseille');

foreach($coordonnees as $value)
{
echo 'valeur :’. $value . '<br />'; // affichera 'François' puis 'Dupont' etc
}

foreach($coordonnees as $key => $value)


{
echo '[' . $key . '] vaut ' . $value . '<br />'; // affichera ‘prenom’ vaut 'François' etc
}

M. Ducongé - Barrère 12/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
Debug

Il est important de savoir ce que peut contenir une variable. Il existe des fonctions toutes simples
pour afficher le type et la valeur d’une variable, constante ou autre sur le navigateur. Le
« var_dump() » donne plus d’informations, il est donc à privilégier.
Attention, ces méthodes ne sont pas à confondre avec la méthode « echo » qui elle est destiné
uniquement à l’affichage.

Exemple :
$a = 3.1 ;
var_dump($a); // affichera float(3.1)

print_r ($a);// // affichera 3.1

Pour afficher les erreurs PHP, il faut copier-coller ces lignes de code en tout début de votre
fichier « index.php ».

// Afficher les erreurs à l'écran


ini_set('display_errors', 1);
// Enregistrer les erreurs dans un fichier de log
ini_set('log_errors', 1);
// Afficher les erreurs et les avertissements
error_reporting(e_all);

Lors de la mise en ligne/production de votre site internet, n’oubliez pas de commenter les lignes
ci-dessus. Si une erreur survient elle l’affichera à l’utilisateur et lui donnera des informations
qui sont susceptibles de lui indiquer une faille.

Il est également possible de définir que par défaut, toute les erreurs soient affiché. Pour ce faire
il faut modifier le fichier « php.ini » et passer la variable « error_reporting » à « On ».
Pour le trouver il faut faire un fichier PHP et appeler l’instruction suivante :

// Affiche toutes les informations sur la configuration php


phpinfo();

Attention, avant d'effectuer des modifications dans ce fichier, assurez-vous d'en faire une
sauvegarde. De cette manière, si vous faites une bêtise, vous serez en mesure de revenir sur vos
pas.

Il est préférable d’utiliser les instructions en début de fichier que de modifier le « php.ini ».

M. Ducongé - Barrère 13/15


École régionale du numérique - Développement d'une application Web
2018 – 2019
Inclusion de fichier

Une des fonctionnalités les plus simples et les plus utiles de PHP est l'inclusion de pages. On
peut très facilement inclure toute une page ou un bout de page à l'intérieur d'une autre. Cela va
grandement vous faciliter la tâche en vous évitant d'avoir à copier le même code HTML plusieurs
fois.

Le principe est le suivant :

Le « header », le « menu » et le « footer » sont des bloc appelés via la fonction « require() » ou
« include() » pour pouvoir inclure un fichier dans un autre. C’est avec cette méthode que l’on
peut appliquer une modification sur l’ensemble d’un site juste en modifiant un fichier.

La fonction « include() » renverra une erreur de type WARNING si elle n'arrive pas à ouvrir le
fichier en question. De ce fait l'exécution du code qui suit dans la page sera exécuté. En
revanche, la fonction « require() » affichera une erreur de type FATAL qui interrompt
l'exécution du script.

// Importations avec require()


require('../dossier/fichier.php');
require 'fichier2.php';

// Importations avec include()


include('../dossier/fichier.php');
include 'fichier2.php';

Attention à ne pas mettre variables en $_GET entre les parenthèses, cela aura pour effet de
créer une faille de sécurité.

M. Ducongé - Barrère 14/15


École régionale du numérique - Développement d'une application Web
2018 – 2019

CONCLUSION

Le PHP peut faire énormément de choses, à vous de trouver votre méthode tant qu’elle est
soignée, respectueuse des standards et optimisée. Ne vous découragez pas dès qu’une erreur
apparaît, il faut avancer pas à pas et trouver les informations nécessaires pour résoudre le
problème.

M. Ducongé - Barrère 15/15

Vous aimerez peut-être aussi