Ceci est une ancienne révision du document !
PHP : Hypertext Preprocessor
PHP est un langage de programmation très en vogue et très performant pour créer des sites web dynamiques.
Aujourd'hui la référence est PHP7 mais ZMWS ne supporte que PHP5.1.2
Connaissances de base
Les fichiers PHP
Un fichier PHP (index.php, page1.php …) ne peut être utilisé qu'a partir d'un serveur.
Les instructions PHP doivent être placées entre les balises “<?php” et “?>” à l'intérieur d'une page ayant l'extension (*.php). La page peut aussi contenir du
HTML à l'extérieur des balises PHP.
Chaque instruction PHP se termine par le symbole ';'.
Une liste d'instruction liées ensembles se place entre accolades '{ instruction 1; instruction 2 ; }'. On passe généralement à la ligne entre chaque instruction et on se décale (indentation) à l'intérieur des accolades.
Les commentaires ne servent qu'à expliquer ce que l'on fait. Ce ne sont pas des instructions. Ils débutent par les symboles // et se terminent à la fin de la ligne ou comprennent plusieurs lignes placées entre /* … */.
- ma_page.php
<?php
instruction1; // Ceci est une instruction
instruction2;
bloc_instruction3 { // Ceci est le début d'un bloc d'instruction
instruction31;
instruction32;
...
}
instruction4;
...
?>
Les variables
En PHP, le nom des variables commence par le signe $. Une variable peut contenir n'importe quel type de donnée.
Un tableau est une variable contenant plusieurs autres variables placées entre crochets.
Le symbole d'affectation (donner un contenu à une variable est =)
On peut faire les opérations de base (addition, soustraction, multiplication et division) avec les symboles +, -, * et /
$nom = "mon nom";
$age = 14;
$identite["nom"] = "mon nom";
$identite["age"] = 14;
$anniversaire = $age + 1;
L'affichage des résultats
echo "Votre age est ";
echo $age;
// ou
echo "Votre age est " . $age;
Les boucles
Il existe plusieurs types de boucles :
// Répéter tant-que la condition est vraie
$x = 0;
while ($x < 10) {
echo $x;
$x = $x + 1;
}
// Répéter un certain nombre de fois (exemple compteur de 5 à 25 par nombre impair)
for ($x = 5; $x <= 25; $x = $x + 2) echo $x;
Les choix
Un choix ne peut avoir que 2 résultats (vrai/faux) if (condition) instructions-si-vrai; else instructions si faux;. La partie “else” n'est pas obligatoire.
Les opérateurs de comparaison pour les conditions sont : égal ==, différent !=, inférieur <, supérieur >. On peut ajouter un signe égal à inférieur et supérieur ⇐ et >=
if (condition) instruction;
else instruction;
// exemple la variable x varie de 0 à 9 indéfiniment
$x = 0;
while (true) {
if ($x == 10) $x = 0;
else $x = x + 1;
echo $x;
}
Les fonctions
Il existe un très grand nombre de fonctions (voir la référence du langage). Une fonction a un nom et est suivie de parenthèse.
Il est possible de passer des paramètre à une fonction en les mettant séparé par des virgules dans les parenthèses.
Une fonction peut renvoyer un résultat.
Il est possible de créer ses propres fonctions.
<?php
// Ceci est une fonction créée par le programmeur
// Additionner 2 nombres a et b
function mon_addition (a, b) {
echo "Calcul de a + b <br/>";
$x = $a + $b;
return $x;
}
// Ceci est le programme qui utilise la fonction
$a = 2; echo "a = " . $a . "<br/>";
$b = 5; echo "b = " . $b . "<br/>";
$c = mon_addition ($a, $b);
echo "Le résultat est " . $c . "<br/>":
?>
Activité
Génération automatique du sommaire des ponts
Ajout d'un nouveau pont en base de donnée (nécessite de connaître le SQL)
Affichage d'un pont en base de donnée (nécessite de connaître le SQL)