Math-Linux.com

Knowledge base dedicated to Linux and applied mathematics.

Home > Apache > PHP > Introduction au langage PHP

Introduction au langage PHP

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"> et </script>
- <%php et %>
par exemple:

Premier Script PHP <? echo "Mon 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!".

à€ 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

SymboleAction
\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.

Any message or comments?

comments powered by Disqus