Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
2018 – 2019
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
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.
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.
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.
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.
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.
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.
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.
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.
$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é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
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é.
Pour exécuter ses instructions, il suffit d’appeler cette fonction par son nom, voir exemple ci-
dessous.
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.
Structures conditionnelles
If / else if / else
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.
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 ||
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 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";
}
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
}
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
}
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)
Pour afficher les erreurs PHP, il faut copier-coller ces lignes de code en tout début de votre
fichier « index.php ».
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 :
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 ».
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 « 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.
Attention à ne pas mettre variables en $_GET entre les parenthèses, cela aura pour effet de
créer une faille de sécurité.
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.