Introduction au développement Web

Jean-Philippe Doyle, Projet Héritage 2005-2006

PHP

Table des matières

1 - Introduction
2 - Document PHP
3 - Variables
4 - Structures de contrôle
5 - Fonctions
6 - MySQL
7 - Révison
8 - Références

1 - Introduction

Pourquoi PHP? Pour PHP: Hypertext Preprocessor. Cela pourrait paraître mélangeant, car c'est un acronyme récursif. Mais qu'est-ce q'un acronyme récursif? C'est une suite d'initiales qui se prononcent comme un mot ordinaire (acronyme) qui contient sa forme réduite et qui se répète à l'infini (récursif). Le meilleur exemple est LINUX qui veut dire "Linux Is Not UniX".

Leçons de français terminées, qu'est-ce que le PHP permet de faire? Il permet de créer rapidement des pages dynamiques : réagir aux demandes du client, effectuer des taches répétitives, utiliser une base de données et bien plus. La syntaxe du PHP ressemble au C, au Java et au Perl, car il en est inspiré. Mais n'ayez crainte, le PHP est beaucoup plus accessible que le C ou le Java pour les novices! Je dirais personnellement que c'est autant accessible que le JavaScript, sinon plus.

Cependant, contrairement au JavaScript, le PHP est géré uniquement par le serveur. Il faut donc que PHP soit installé sur votre serveur et préférablement sur votre ordinateur. Si PHP n'est pas installé sur votre ordinateur, vous devrez mettre vos pages en ligne pour voir le résultat. Lorsqu'un client demande une page, c'est le serveur qui exécute le programme PHP et il renvoi uniquement le résultat sous la même forme qu'un document HTML.

2 - Document PHP

Tout comme le HTML et le JavaScript, le PHP peut s'éditer dans un simple éditeur de texte. Mais il faut utiliser habituellement l'extension .php ou .php3 pour que notre programme soit exécuté par le serveur. Pour définir le début et la fin d'un code PHP, il faut utiliser la balise <?php pour l'ouverture du code et ?> pour la fermeture. Il faut aussi savoir que pour marquer la fin d'une ligne de code, il faut utiliser un point-virgule. Voici un exemple de code avec une syntaxe correcte :

<?php
$variable1 = 'valeur1';
$variable2 = 'valeur2';
?>

3 - Variables

Variables utilisateur

Les variables PHP fonctionnent comme celle de JavaScript, c'est-à-dire qu'elles peuvent contenir une seule information ou un tableau d'informations qui peut à son tour contenir d'autres tableaux. Cependant, la syntaxe de PHP diffère légèrement. Première façon :

$variable = array('variable1', 'variable2');

On pourra ensuite utiliser $variable[0] et $variable[1] pour utiliser les informations contenues dans le tableau. Tout comme JavaScript la numérotation débute toujours à 0 et on peut aussi utiliser des chaînes de caractères pour définir les entrées du tableau :

$variable = array('variable1'=>'valeur1', 'variable2'=>'variable2');

On peut aussi écrire ce genre de déclaration sur plusieurs lignes pour plus de clarté :

$variable = array(
  'variable1'=>'valeur1',
  'variable2'=>'variable2'
  );

On pourra ensuite utiliser $variable['variable1'] et $variable['variable2'] pour utilser les informations contenues dans le tableau. On peut aussi créer un tableau et y ajouter des variables ainsi :

$variable['variable1'] = 'variable1';
$variable['variable2'] = 'variable2';

Variables d'environnement

Les variables d'environnement contiennent des informations sur le serveur et sur le client. Ces variables débutent toutes avec $_ et sont en majuscules. Voici les types les plus importants de variables définis par le serveur :

Serveur

Les informations que vous donne le serveur sont données sous forme de tableau dans la variable $_SERVER. Pour par exemple afficher l'adresse IP du client on utilisera la variable $_SERVER['REMOTE_ADDR'] et la déclaration echo:

echo $_SERVER['REMOTE_ADDR'];

10.43.185.17

Echo est une fonction qui n'en est pas réellement une, c'est davantage une déclaration qui permet de retourner quelque chose au client (le navigateur). Pour obtenir une liste exhaustive de toutes les informations contenues dans le tableau $_SERVEUR consultez le site de PHP.

Formulaire

Lorsqu'un formulaire HTML est soumis par méthode post, toutes les informations soumises sont contenues dans les tableaux des variables $_POST et $_FILE. Comme sont nom le laisse croire, la variable $_FILE est utilisée lorsque l'on envoi un fichier avec un formulaire. Les entrées du tableau sont rattachées au nom des champs du formulaire.

Url

Lorsqu'une adresse contient des variables, elles sont emmagasinées dans le tableau de la variable $_GET. Pour soumettre des variables dans une adresse, il faut ajouter un point d'interrogation à la fin du nom du fichier et séparé les variables par des &. Exemple avec cette adresse :

index.php?variable1=valeur1&variable2=valeur2&variable3=valeur3

On pourra utiliser $_GET['variable1'], $_GET['variable2'], $_GET['variable2'] qui contiendront valeur1, valeur2, valeur3.

Cookie

La variable $_COOKIE contient un tableau des témoins de connexion enregistrés sur l'ordinateur du client. Ces cookies peuvent être ajoutés par PHP ou par JavaScript à l'aide de fonctions prédéfinie prévues à cet effet. Les témoins de connexion ont une durée de vie définie lors de leur création.

Session

La variable $_SESSION contient un tableau des variables de sessions du client. Les variables de sessions sont aussi définies par des fonctions, mais ne sont pas enregistrées sur l'ordinateur du client, mais sur le serveur de façon temporaire : lorsque le client quitte son navigateur, ces variables sont effacées.

4 - Structures de contrôle

PHP offre plusieurs structures de contrôle dont des conditions et boucles. Nous aborderons ici les structures les plus utilisées, pour connaître toutes les structures de contrôles, vous pouvez consulter le site de PHP.

If, else, elseif

Ces structures permettent d'évaluer une expression. Exemple :

if ($a > $b) echo "a est plus grand b";
elseif($a == $b) echo "a est égal à b";
else echo "a est plus petit que b";

Lors que l'on veut utiliser plus d'une commande suite à l'évaluation d'une expression, il faut utiliser les accolades "{}" comme suit :

if($a > $b){
  echo 'a est plus grand b';
  echo 'donc b est plus petit que a';
} elseif($a == $b){
  echo 'a est égal à b';
  echo 'donc b est égal à a';
} else {
  echo 'a est plus petit que b';
  echo 'donc b est plus grand que a';
}

Il est permis d'utiliser plusieurs elseif à la suite d'un if mais un seul else.

While, do-while

Ces structures permettent d'évaluer constamment une expression, et exécutent les commandes tout comme if, else, elseif jusqu'à ce que l'expression ne soit plus vrai. Par exemple :

$a = 0;
$b = 4;
while($a < $b){
  echo 'a est plus petit que b';
  $a = $a+1;
}

Dans cet exemple, la commande echo s'exécutera jusqu'à ce que $a soit plus grand que $b, donc 4 fois. Do-while permet la même chose à l'exception que l'expression est vérifiée à la fin de la commande :

$a = 1;
do {
  echo 'si a est plus grand que 0 je n'afficherai plus!';
} while($a > 0);

La fonction echo s'exécuterais alors une seule fois puisque $a est plus grand que 1.

Foreach

La structure foreach permet d'exécuter un code pour chaque entrée d'un tableau. Exemple :

$tableau = array(2, 4, 6, 8);
foreach ($tableau as $valeur) {
  echo 'Valeur '.$valeur.'<br>';
}

Valeur : 2
Valeur : 4
Valeur : 6
Valeur : 8

On peut aussi utiliser le nom des clés des entrées du tableau dans une structure foreach :

$tableau = array(
  'un'=>'bleu',
  'deux'=>'blanc',
  'trois'=>'rouge',
  'quate'=>'vert'
  );
foreach ($tableau as $cles=>$valeur) {
  echo 'Valeur '.$cles.' : '.$valeur.'.<br>';
}

Valeur un : bleu.
Valeur deux : blanc.
Valeur trois : rouge.
Valeur quate: vert.

For

Cette structure permet d'évaluer une expression un peu à la manière de while mais avec 3 expressions séparées par des points-virgules qui sont évaluées ou exécutées de façon différente. La première expression est exécutée une seule fois au début, la deuxième expression est évaluée à chaque itération exactement comme l'expression contenue dans un while et la troisième expression est exécutée à chaque itération. Exemple :

for($i=0; $i<4; $i++){
  echo $i.' est plus petit que 4 <br>';
}

0 est plus petit que 4
1 est plus petit que 4
2 est plus petit que 4
3 est plus petit que 4

Switch, case, default, break

Ces structures permettent comme il est sous-entendu de "switcher". Ce "switch" s'effectue en évaluant la valeur d'une variable. Exemple :

switch($a){
  case 1:
    echo 'Cas numéro 1, $a est égal à 1'.
  break;
  case 2:
    echo 'Cas numéro 2, $a est égal à 2'.
  break;
  default:
    echo 'Cas par défaut, $a est n'est pas égal à 1 ou 2'.
  break;
}

Dans cet exemple, si $a est égal à 1 ou 2 les le cas 1 ou 2 sera exécuté, et si $a n'est pas égal à 1 ou 2, le cas par défaut s'exécutera. On peut utiliser le même code pour plusieurs cas et le cas default n'est pas obligatoire. On pourrait donc écrire :

switch($a){
  case 1:
  case 2:
    echo 'Cas numéro 2, $a est égal à 1 ou 2'.
  break;
}

Return

Cette structure permet dans une fonction de retourner un résultat à ce qui l'a appelé. Plus d'explications et d'exemples dans la section fonctions.

Require(), include()

Ces structures permettent d'inclure un fichier dans un fichier. Les fichiers que vous incluez peuvent contenir du HTML et ou du PHP et le code peut communiquer avec le code de la page qui l'inclus (utiliser les variables, les fonctions, etc.).

5 - Fonctions

Il y a 2 catégories de fonctions, celles définies par défaut par PHP et celles définies par l'utilisateur. Vous pouvez trouver les fonctions de PHP sur le site de PHP.

Créer une fonction

Lorsque l'on crée une fonction, il faut utiliser exactement la même syntaxe qu'avec JavaScript :

function [nom de la fonction]([variable1],[variable2],[variable3]){
  [code]
  [return]
}

[nom de la fonction]

Le nom de la fonction sera utilisé afin de l'appeler. Il peut être le nom d'une fonction déja établie par PHP ou l'utilisateur, l'ancienne sera écrasée. Il est important d'utiliser uniquement des caractères alphabétiques ou un _ pour le premier caractère du nom. Les autres caractères peuvent être alphanumériques, majuscules et minuscules.

[variable1],[variable2],[variable3]

Les variables sont les données qui pourront être transmises lors de l'appel de la fonction. Il est possible d'ajouter autant de variables (séparé par des virgules) à la fonction que voulu. Il est aussi possible d'inclure aucune variable, mais il faut quand même mettre les parenthèses comme suit : ().

[code]

Le code est ce qui sera exécuté lors de l'appel de la fonction. Il peut utiliser les variables transmises. Il peut aussi retourner ou non une information à ce qui a appelé la fonction. Pour retourner une information, il faut utiliser la déclaration return suivie d'une information à retourner. Voici un exemple ou nous voulons que la variable result contienne le résultat de la fonction mafonction :

function mafonction(var1,var2){
  $calcul=var1*var2+10;
  return $calcul;
}
$result=mafonction(3,4);

La variable $result contiendra alors 24.

Dans une fonction PHP, les variables définies à l'extérieur de celle-ci ne peuvent pas être utilisées, à moins d'utiliser la déclaration global. Par exemple, si l'on veux utiliser les variable $x et $y dans notre fonction mafonction il faut proceder ainsi :

$x = 'x';
$y = 'y';
function mafonction() {
  global $x,$y;
}

6 - MySQL

Voir la section à cet effet.

7 - Révison

Voir la section à cet effet sur la page révison.

8 - Références

PHP Débutant (sans date). Consulté le 17 mars 2006.
http://www.phpdebutant.org

PHP : Hyptertext Preprocessor (17 mars 2006). Consulté le 17 mars 2006.
http://www.php.net

Introduction to PHP (17 avril 2000), sur le site Zend Technologies. Consulté le 17 mars 2006.
http://www.zend.com/zend/art/intro.php