PHP (Hypertext PreProcessor) est un langage de programmation

interprété et exécuté du côté serveur. La première version de PHP fut créée par Rasmus LERDORF en 1994.

Ce langage lui permettait, à l’aide de base de données SQL, de faire un listing des

utilisateurs venant consulter sa page personnelle. C’est la naissance du PHP.

PHP ou la création de pages dynamiques

PHP est un langage de programmation s’intégrant dans les pages HTML. De ce fait, il permet de générer des pages web dynamiques. En pratique qu’est ce que cela veut dire ? Lorsque vous naviguez sur un site web vous faites en réalité des requêtes sur un serveur distant, vous demandez l’affichage de la page principale de ce serveur. Lorsque une page contient du code PHP, le serveur en question va analyser le code PHP et faire d’éventuelles requêtes sur les bases de données si ces dernières sont sollicitées par le code PHP. Enfin ce que vous voyez sur votre navigateur ce n’est rien d’autre que le fichier PHP interprété, il ne contient plus de code. On parle de langage interprété et exécuté coté serveur, vous êtes le client.

Avantages du PHP

Quels sont les avantages de PHP ? En pratique, on retiendra les points suivants:

  • inclusion directe du PHP au sein d’une page HTML
  • connection aisée aux bases de données
  • intégrabilité et disponibilité au sein de serveurs comme Apache par exemple.
  • automatisation des tâches
  • support de fonctions Web (cookies, authentification, etc …) Du point de vue Logiciel:
  • PHP est distribué sous licence GNU/GPL
  • communauté de développeurs à  travers les forums et sites web
  • partage des codes sources

Prérequis

Il faut installer un serveur LAMP ou avoir un serveur supportant PHP. Linux Apache PHP Mysql sont libres et gratuit vous pouvez donc vous les procurer sur le web.

Premier script PHP

Le script PHP doit être intégré au sein du code html, et le fichier doit se terminer par l’extension .php . Regardons l’exemple suivant: créons à  l’aide d’un éditeur le fichier exemple.php contenant le code suivant:

<html>
<head><title>Premier Script PHP</title></head>
<body>
<?php
        echo "Mon premier script PHP!";
?>
</body>
</html>

echo est une instruction qui permet d’afficher une chaîne de caractères. Ouvrer exemple.php à  l’aide de votre navigateur. Vous voyez sur la page “Mon premier script PHP!” Clairement pour faire du PHP, il faut:

  • intégrer le code PHP en utilisant les balises <?php et ?>
  • l’extension du fichier doit être .php à noter que d’autres balises sont possibles:
<? et ?>
<script language="php"> ... </script>
<%php et %>

par exemple:

Premier Script PHP

Remarque: chaque instruction est séparée par un point virgule. Regardons un autre script:

<html>
<head><title>Premier Script PHP</title></head>
<body>
<?

for($i=1;$i<=10;$i++)     
  {echo "$i.Mon premier script PHP!<br>\n";}
?>
</body>
</html>

On obtient 10 lignes numérotées de 1 à  10 avec pour chacune d’entre elle le message “Mon premier script PHP!”.

A présent essayer de voir le code source de la page du navigateur en enregistrant la page. On voit le code suivant:

<html>
<head><title>Premier Script PHP</title></head>
<body>
1.Mon premier script PHP!<br>
2.Mon premier script PHP!<br>
3.Mon premier script PHP!<br>
4.Mon premier script PHP!<br>
5.Mon premier script PHP!<br>
6.Mon premier script PHP!<br>
7.Mon premier script PHP!<br>
8.Mon premier script PHP!<br>
9.Mon premier script PHP!<br>
10.Mon premier script PHP!<br>
</body>
</html>

On ne voit plus le code PHP, le code PHP est interprété coté serveur.

Les commentaires

Un bon programmeur commente ses lignes de codes. Pour commenter un bout de code PHP, on utilise à  l’intérieur du code les balises suivantes: /* */ et // ou # pour commenter une ligne, comme ici

<html>
<head><title>Premier Script PHP</title></head>
<body>
<?
/*10 lignes numérotées avec le texte Mon premier script PHP!*/
//10 lignes numérotées avec le texte Mon premier script PHP!
# 10 lignes numérotées avec le texte Mon premier script PHP!		
for($i=1;$i<=10;$i++)     
  {echo "$i.Mon premier script PHP!<br>\n";}
?>
</body>
</html>

Affichage des chaînes de caractères

Pour afficher des chaînes de caractères en PHP, on utilise les symboles suivants: ’ ‘ ou ” “

echo "Mon premier script PHP"
echo 'Mon premier script PHP'

Il existe des caractères particuliers comme dans l’exemple \n

Symbole Action
\n Saut de ligne
\t Tabulation
\ Le caractère |
\‘ Le guillemet simple
\“ Le guillemet double
$ Le caractère $

Pour les symboles ’ ‘, on ne peut utiliser que ' et ".

Affectation de variables L’affectation de variables se fait comme suit $variable=valeur; Attention les variables sont sensibles à  la casse, c’est à  dire que PHP fait la différence entre les majuscules et les minuscules (sujet n’est pas Sujet). Par contre, PHP n’est pas sensible à  la casse pour les fonctions (echo est eCHo).

$site="www.math-linux.com";
$IP="192.168.0.1";
$x=2.57;
$i=999;
$Sujet="Les tits pingouins";
$sujet="les pingouins";
$verbe="vivent";
$complement="sur la banquise";

Pour concaténer les chaînes de caractères on utilise l’opérateur point .

eCHo $sujet." ".$verbe." ".$complement

renvoie

les pingouins vivent sur la banquise

Opérations scalaires

On peut effectuer les opérations scalaires classiques comme l’indique le tableau suivant

Code Action
$a + $b Addition de $a et $b
$a - $b Soustraction de $b à  $a
$a * $b Multiplication de $a par $b
$a / $b Division de $a par $b
$a % $b Modulo-reste de la division de $a par $b

Un exemple:

$a=7;
$b=3;
$c=3.14;
$d=$a+$b;
$e=$a-$b;
$f=$a/$b;
echo "<br> $d <br> $e <br> $f";

Résultat:

10
4
2.33333333333

Opérations booléennes

Vous pouvez utiliser les constantes TRUE et FALSE pour spécifier une valeur de type booléenne. Ces constantes sont insensibles à  la casse. Une valeur scalaire est définie comme TRUE si elle est non nulle. Une chaîne de caractères est définie comme TRUE ou non vide.

Code Action
$a == $b TRUE si $a est égal à  $b
$a === $b TRUE si $a est égal à  $b, avec a et b de même type
$a != $b TRUE si $a est différent de $b
$a < $b TRUE si $a est strictement inférieur à  $b
$a > $b TRUE si $a est strictement supérieur à  $b
$a <= $b TRUE si $a est inférieur ou égal à  $b
$a >= $b TRUE si $a est supérieur ou égal à  $b
$a && $b TRUE si $a et $b sont TRUE
$a ||$b TRUE si $a ou $b est TRUE
**!$a ** TRUE si $a est FALSE et FALSE si $a est TRUE

Structure conditionnelle: if

if (Condition)
Instruction(s)
else
Instruction(s)

Le else indique une alternative, il est donc optionnel. Par ailleurs lorsqu’il y a plusieurs instructions ces dernières sont entre accolades, s’il y’en a qu’une , il n’est pas nécessaire d’utiliser les accolades. Regardons un exemple simple $ordinateur=”ipower”; $etat= “connecté”;

if ($etat== "connecté")
  echo $ordinateur." est ".$etat;

On ne met pas de ; à  la suite de l’instruction if. Regardons à  présent la structure if else

$Temps = "pluvieux";
if ($Temps == "Ensoleillé")
  {
  echo "Il fait beau";
  echo "c'est SUPER";
  }
else
  echo "Sortez les parapluies";

Lorsqu’il ya plusieurs instructions, on met le code correspondant entre accolades ce qui est le cas de

{
  echo "Il fait beau";
  echo "c'est SUPER";
}

Boucles: for

for (Initialisation de la variable ; Condition; Pas de la boucle)
Instruction(s)

Lorsqu’il y a plusieurs instructions ces dernières sont entre accolades, s’il y’en a qu’une , il n’est pas nécessaire d’utiliser les accolades.

$Nombre = 6;
for($i=0; $i != $Nombre ; $i++)
    {
    echo 'Nombre est different de '.$i.'<br>';
    }
echo 'Nombre est égal à  '.$i; 

On obtient:

Nombre est different de 0
Nombre est different de 1
Nombre est different de 2
Nombre est different de 3
Nombre est different de 4
Nombre est different de 5
Nombre est égal à  6

Boucles: while

While (Condition)
Instruction(s)

Répète la ou les instructions tant que condition est TRUE. Lorsqu’il y a plusieurs instructions ces dernières sont entre accolades, s’il y’en a qu’une , il n’est pas nécessaire d’utiliser les accolades.

$Nombre = 6;
$i = 0; 
while($i != $Nombre)
    {
    echo 'Nombre est different de '.$i.'<br>';
    $i++; 
    }


echo 'Nombre est égal à  '.$i; 

On obtient:

Nombre est different de 0
Nombre est different de 1
Nombre est different de 2
Nombre est different de 3
Nombre est different de 4
Nombre est different de 5
Nombre est égal à  6

Plages de valeurs: case

$Linux = Ubuntu;
switch($Linux)
  {
  case Debian:
    echo "D";
  case Ubuntu:
    echo "U";
  case Gentoo:
    echo "G";
  }

affichera UG, autrement dit le code affiche tout les cas à  partir du cas Ubuntu, c’est à  dire U et G. Dans l’exemple suivant rien n’est affiché.

$Linux = XUbuntu;
switch($Linux)
  {
  case Debian:
    echo "D";
  case Ubuntu:
    echo "U";
  case Gentoo:
    echo "G";
  }

Pour palier au problème, on introduit un break, comme suit:

$Linux = Ubuntu;
switch($Linux)
  {
  case Debian:
    echo "D";
    break;
  case Ubuntu:
    echo "U";
    break;
  case Gentoo:
    echo "G";
    break;
  }

affichera U. En fait lorsque l’on regarde bien le code suivant n’est rien d’autre que la contraction du code suivant:

$Linux = Ubuntu;
switch($Linux)
  {
  case $Linux == Debian:
    echo "D";
    break;
  case $Linux == Ubuntu:
    echo "U";
    break;
  case $Linux == Gentoo:
    echo "G";
    break;
  }

On peut par ailleurs gérer des valeurs non prévues à  l’aide du mot clé default, le code affichera mmmm Fedora??? .

$Linux = Mandriva;
switch($Linux)
  {
  case Debian:
    echo "D";
    break;
  case Ubuntu:
    echo "U";
    break;
  case Gentoo:
    echo "G";
    break;
  default:
    echo "mmmm Fedora???";
    break;  
  }

Enfin un dernier exemple pour mettre en évidence les plages de valeurs:

$Nombre = 1200;
switch ($Nombre)
  {
  case ($Nombre < 100) :
    echo "petit";
    break;
  case (($Nombre >= 100) && ($Nombre <= 500)) :
    echo "Moyen";
    break;
  case ($Nombre > 500) : 
    echo "Grand";
    break; 
  }

Voila pour cette courte introduction au PHP, nous verrons dans les prochains tutos les points importants de ce langage.