Création d'Applications sur Internet
Chapitre5a: Langage PHP
Fatemeh BORRAN
Sommaire
- Pages statiques vs. dynamiques
- Serveur Web
- Bases du langage PHP
- Ecrire du code PHP
- Séquence d'instructions
- Variables (Simple, Composite)
- Opérations (arithmétiques, logiques, comparaisons)
- Fonction
echo
- Sélection avec
if
- Boucles
for
et while
- Fonction
isset
Pages statiques
- Rappel: Jusqu'à présent, nous avons étudié HTML, qui est un langage permettant de décrire des pages Web.
- HTML seul (i.e. sans l'aide d'un autre langage) ne permet de réaliser que des pages statiques:
- Un fichier HTML correspond à un et un seul contenu;
- Pour créer un nouveau contenu, il faut créer un nouveau fichier.
- Mais alors comment sont faits les sites comme FlickR, FaceBook, Youtube, les moteurs de recherche ou les Blogs?
- Est-ce qu'ils sont constitués de milliers de fichiers HTML différents? Que se passerait-il alors si leur webmaster décidait d'ajouter une fonctionnalité (ex: voter pour une page)?
Pages dynamiques
- Divers langages de programmation peuvent être utilisés conjointement avec HTML pour réaliser des pages Web dynamiques, où le contenu pourra varier en fonction:
- Des paramètres reçus depuis un formulaire;
- Des informations récoltées sur le visiteur;
- Du contenu d'une base de données;
- Etc.
- Dans ce cours, nous aborderons le langage PHP.
- Important: La page Web affichée dans le navigateur est toujours en HTML. Mais son code HTML est en partie généré automatiquement à l'aide d'un script. Du point de vue de l'utilisateur, il n'y a aucune différence entre une page statique ou une page dynamique.
Pages statiques vs. dynamiques
- Pages statiques: exécutées uniquement sur le navigateur du client.
- Pages dynamiques: exécutées d'abord sur le serveur pour produire du HTML, puis sur le navigateur du client.
Pages dynamiques avec PHP
- PHP est un langage de script, que l'on incorpore dans une page HTML normale et qui est exécuté sur le serveur Web.
- Lorsqu'un client envoie une requête pour obtenir une page PHP:
- Le serveur exécute le script PHP;
- Le script va éventuellement envoyer des requêtes vers une base de données comme MySQL pour récupérer des données (cet aspect ne sera pas traité dans ce cours);
- Sur la base de ces informations, le script PHP génère une page HTML standard;
- Le serveur renvoie le code HTML ainsi généré au client, qui pourra l'afficher comme n'importe quelle page statique.
Visualisation de pages dynamiques
- Comme nous l'avons vu, une page statique peut être visualisée directement depuis le navigateur Web.
- Une page dynamique doit être interprétée avant de pouvoir être visualisée. Elle ne peut donc pas être visualisée depuis l'explorateur de fichiers.
- Pour visualiser une page dynamique, on devra donc la placer sur un serveur Web capable d'interpréter le code dynamique.
Serveur Web
- Pour naviguer sur un site Web dynamique, celui-ci doit être déployé sur un serveur distant (hébergeur), ou sur un serveur local:
- Chez un hébergeur Web supportant un langage de script(ex: PHP, ASP, ...)
- Sur sa machine en local en utilisant un des logiciels:
- Serveur WAMP (Windows) MAMP (MAC OS)
- EasyPHP
- Apache HTTP serveur
- Dans ce cours nous allons utiliser un serveur local (avec EasyPHP).
Serveur Web - EasyPHP
- Installer EasyPHP sur sa machine;
- Placer les fichiers du site dans le répertoire
www
;
- Démarrer EasyPHP;
- Accéder à son site avec l'adresse suivante:
http://127.0.0.1/maPage.php
- Important: si vous tentez d'accéder à la page par le système de fichiers, le code PHP ne sera pas interprété:
C:/wamp/www/maPage.php
Ecrire du code PHP (1/2)
- Une page PHP est essentiellement identique à une page HTML. Comme pour HTML, il s'agit d'un simple fichier texte contenant du code.
- On donnera l'extension
.php
à une page PHP, au lieu de .html
(pour indiquer au serveur qu'il doit interpréter la page avant de la retourner).
- On peut insérer du code PHP directement dans le code HTML, aux endroits où l'on souhaite appliquer des traitements dynamiques (calculs, affichages, ...).
- Pour délimiter des zones de code PHP placés dans une page HTML, on utilise les délimiteurs
<?php
et ?>
.
Ecrire du code PHP (2/2)
Le code PHP n'apparaît pas dans la page HTML reçue par le client. Seul le résultat de son interprétation apparaîtra.
Bonjour !
Voici une photo :
Séquence d'instructions
- Une instruction correspond à un ordre donné à PHP de la part du programmeur.
- Les instructions peuvent être de différentes natures:
- Définition d'une variable;
- Appel d'une fonction;
- Etc.
- Chaque instruction PHP doit être terminée par un point-virgule:
;
.
- En général, on s'arrangera pour n'écrire qu'une instruction par ligne.
Variables
- Tout comme en mathématiques, une variable est une boîte portant un nom symbolique et contenant une valeur.
- Le nom d'une variable PHP commence toujours par le caractère
$
, suivi d'une lettre ou d'un trait de soulignement, puis d'une série de lettres, chiffres ou traits de soulignement.
- Exemples de variable correcte:
$maVariable
, $i
, $nom_de_famille
, $j23
- Exemples de variable fausse:
$1234
, maVariable
, $test#1
, $ma variable
Types de variables: simples
- Une variable PHP peut indifféremment contenir une valeur numérique, une chaîne de caractères, une valeur booléenne, etc.
- On utilise l'opérateur
=
pour affecter une valeur à une variable (la valeur peut être calculée à partir d'une autre variable).
Types de variables: simples (exemple1)
Bonjour !
Voici une photo :
Types de variables: simples (exemple2)
Bonjour !
Ton prénom est
Ta date de naissance est .
Tu as ans!
Types de variables: tableaux
- Un tableau (ou un array) est une variable composée qui peut prendre plusieurs valeurs.
- Il y a deux types de tableaux:
- Les tableaux numérotés
- Les tableaux associatifs
Les tableaux numérotés
Le code PHP suivant:
est équivalant à:
on peut afficher un élément du tableau en utilisant:
Les tableaux numérotés (exemple)
$prenoms[0] =
$prenoms[1] =
$prenoms[2] =
Les tableaux associatifs
Le code PHP suivant:
'François',
'nom' => 'Dupont',
'adresse' => '3 Rue du Paradis',
'ville' => 'Marseille');
?>
est équivalant à:
on peut afficher un élément du tableau en utilisant:
Les tableaux associatifs (exemple)
'François',
'nom' => 'Dupont',
'adresse' => '3 Rue du Paradis',
'ville' => 'Marseille');
?>
$coordonnees['prenom'] =
$coordonnees['nom'] =
$coordonnees['adresse'] =
$coordonnees['ville'] =
Opérations arithmétiques
Opérations de base: addition (+
); soustraction (-
); multiplication (*
); division (/
); modulo (%
)
Opérations arithmétiques (exemple)
Opérations arithmétiques
$nombre1 =
$nombre2 =
$nombre3 =
Opérations logiques
Opérations de base: AND
(et); OR
(ou); !
(inversion).
Opérations logiques (exemple)
Opérations logiques
$op1 =
$op2 =
$op3 =
$op4 =
$op5 =
$op6 =
$op7 =
$op8 =
$op9 =
Opérations comparaisons
Opérations de base: ==
(égalité); !=
(inégalité); <
; >
; <=
; >=
$nombre2); // cond4 est faux
$cond5 = ($nombre1 <= $nombre1); // cond5 est vrai
$cond6 = ($nombre2 >= $nombre2); // cond6 est vrai
?>
Opérations comparaisons (exemple)
$nombre2); // cond4 est faux
$cond5 = ($nombre1 <= $nombre1); // cond5 est vrai
$cond6 = ($nombre2 >= $nombre2); // cond6 est vrai
?>
Opérations logiques
$cond1 =
$cond2 =
$cond3 =
$cond4 =
$cond5 =
$cond6 =
Concaténation
- On peut assembler du texte (chaine de caractères; string en anglais) et des variables.
- Concaténation est une opération sur les chaines de caractères.
Concaténation (exemple)
Concatenation
$salutation =
$texte =
La fonction echo
- PHP fournit un certain nombre de fonctions permettant en principe d'appliquer des traitements aux variables, et éventuellement de retourner une valeur.
- Une fonction est caractérisée par un nom, suivi d'une paire de parenthèses dans lesquelles on placera éventuellement une série de paramètres.
echo($maVariable)
: Permet d'afficher la valeur de la variable $maVariable
dans le code HTML, à l'emplacement où l'instruction PHP apparaît dans le code.
echo("texte")
: Permet d'afficher le texte entre "
et "
On peut ne pas mettre les parenthèses quand il y a un seul paramètre. Donc echo($texte);
est équivalant à echo $texte;
Exemple d'utilisation de echo
Bonjour !
Voici une photo :
Résultat de l'exemple précédent
- Page reçue par le client lorsqu'il demande la page PHP au serveur Web.
- Notez qu'il ne voit que le résultat de l'exécution du script:
Page Personnelle de Bernie
Bonjour Bernie !
Voici une photo :
Sélection (1/2)
- Une sélection (ou structure conditionnelle) est une structure de contrôle permettant de n'exécuter une série d’instructions que si une condition donnée est vraie.
- On utilise le mot-clé
if
(si) pour effectuer une sélection en PHP. La syntaxe précise est la suivante:
On utilise des opérateurs de comparison pour créer une condition.
Sélection (2/2)
- Les mots-clé
else
(sinon) et else if
(sinon si) s'utilisent en complément au if
, et permettent de définir des blocs dans lesquels les instructions ne seront exécutées que si la condition du if
précédent est fausse.
Exemple de sélection
Page Bonjour
Bonjour Bernie !";
} else {
echo "Bonjour inconnu !";
}
?>
Résultat de l'exemple précédent
- Page reçue par le client lorsqu'il demande la page PHP au serveur Web.
- Notez que si la variable
$prenom
avait contenu une autre valeur que "Bernie"
, le résultat aurait été différent.
Page Bonjour
Bonjour Bernie !
Exemple de condition complexe
- Une condition peut être relativement complexe. Avec les opérateur
AND
(et), OR
(ou) et !
(inversion) il est possible d'exprimer n'importe quelle condition logique.
Boucles (1/2)
- Une boucle permet de répéter des instructions plusieurs fois.
- Ceci est pour un gain du temps et d'espace; en pratique indispensable.
- Comment fonctionne une boucle?
- comme d'habitude, les instructions sont d'abord exécutées dans l'ordre, de haut en bas (flèche rouge);
- à la fin des instructions, on retourne à la première (flèche verte);
- on recommence à lire les instructions dans l'ordre (flèche rouge);
- et on retourne à la première (flèche verte);
- etc.,etc.
Boucles (2/2)
- Le seul problème dans ce schéma est que ça ne s'arrête jamais!
- Les instructions seraient réexécutées à l'infini! C'est pour cela que, quel que soit le type de boucle (
while
ou for
), il faut indiquer une condition.
- Tant que la condition est remplie, les instructions sont réexécutées.
- Dès que la condition n'est plus remplie, on sort enfin de la boucle.
Boucle while
while
peut se traduire par "tant que".
- Ici, on demande à PHP: tant que
$continuer_boucle
est vrai, exécuter ces instructions.
- Les instructions qui sont répétées en boucle se trouvent entre les accolades
{
et }
.
Exemple de boucle while
';
$nombre_de_lignes++;
}
?>
Boucle for
for
est un autre type de boucle, dans une forme un peu plus condensée et plus commode à écrire.
- Cependant, sachez que
for
et while
donnent le même résultat et servent à la même chose: répéter des instructions en boucle.
- L'une peut paraître plus adaptée que l'autre dans certains cas, cela dépend aussi des goûts.
Exemple de boucle for
';
}
?>
Boucle while
ou for
?
- La boucle
while
est plus simple et plus flexible: on peut faire tous les types de boucles avec mais on peut oublier de faire certaines étapes comme l'incrémentation de la variable!
- En revanche,
for
est bien adapté quand on doit compter le nombre de fois que l'on répète les instructions et il permet de ne pas oublier de faire l'incrémentation pour augmenter la valeur de la variable!
- Si vous hésitez entre les deux, il suffit simplement de vous poser la question suivante: "Est-ce que je sais d'avance combien de fois je veux que mes instructions soient répétées?". Si la réponse est oui, alors la boucle
for
est tout indiquée. Sinon, alors il vaut mieux utiliser la boucle while
.
La fonction isset
isset($maVariable)
: Permet de savoir si la variable $maVariable
a été définie au préalable (si elle contient une valeur).
- On utilisera en général cette fonction dans la condition d'une sélection pour savoir si une variable peut être utilisée (si elle vient d'un formulaire notamment).
Questions?!
Année 2015-2016
-
Fatemeh Borran
-
/