1. Programmation Php - Notions de bases

1.1. Présentation de Php

Php pour PHP:Hypertext Preprocessor est un langage de programmation de script, spécialement conçu pour permettre la création de pages Web dynamiques. Ce n'est pas le seul langage de programmation que l'on utilise sur le net (Ruby, Python, Perl, ..) mais c'est le plus répandu : plus de 13 millions de domaines l'utilisaient en 2004.

IL dispose en effet de plusieurs avantages :

  • Rapidité

  • Gratuité

  • Facile à utiliser

  • Multi OS

  • Sources de documentations multiples

  • Support des bases de données

Dans le cas de la programmation de pages Web dynamiques, le code PHP est inclus dans le code HTML. L'interpréteur PHP est appelé par le serveur Web, lors d'une demande d'une page .php. Le contenu du code PHP est ainsi remplacé par les sorties du programme.

Figure 1. Accès à une page Php

Accès à une page Php

  1. Le client envoi une requête (URL) au serveur WEB http://www.domaine.com/page1.php par exemple.

  2. Le serveur HTTP récupère le fichier sur le disqeu

  3. Grâce à l'extension. (.PHP) du fichier, il le transmet au parser PHP pour être éxécuté.

  4. Le résultat (sauf erreur) est retourné au client , sous forme de page HTML

Exemple 1. Un premier programme

La ligne de code suivante 	  
<?1echo "<p>Hello World</p>"; ?> 2

donnera l'interprétation suivante dans la page HTML
<p>Hello World</p>

Qui donnera dans la navigateur  


Hello World 

 
1

Caractères spéciaux pour débuter l'inclusion de code PHP

2

Caractères spéciaux pour terminer l'inclusion de code PHP


1.2. Instructions

Lors de l'interprétation d'une page PHP, le serveur Web parse les lignes de la page. Chaque fois qu'il rencontre les caractères <?, il demande alors à l'interpréteur Php d'exécuter le bloc d'instructions. Les instructions sont excéutées séquentiellement, du haut de la page vers le bas, jusque'au caractère ?>. Chaque instruction est terminée par un ;. Ainsi, les espaces et les tabulations, et même les retours à la ligne n'ont pas d'influence sur le code.

Les commentaires sont ajoutés aux codes en utilisant les caractères // ou # (ce qui indique à Php que tous les caractères qui suivent sur la ligne ne doivent pas être interprétés) ou en encadrant le texte par / * et * /.

Ainsi le premier exemple peut également s'écrire :

Exemple 2. Des commentaires et des espaces ..


<?
// Affichage texte
echo "<p>
	  Hello World </p>"; 
#sorties code Php
?>


 


Certaines instructions peuvent contenir des expressions. Les instructions sont exécutés, les expressions sont évaluées.

Les instructions peuvent être regroupées dans des blocs, délimités par { }. Un bloc garanti que toutes les instructions sont exécutées de manière séquentielles de la première à la dernière.

Exemple 3. Les blocs d'instructions


if (le cyclone revient)1
{2
   rentrer les animaux;
   faire des réserves;
}3

 
1

Si la condition est respectée ...

2

Début du bloc

3

Fin du bloc


1.3. Variables

Une variable est un espace mémoire utilisé pour stocker une information. Elle est définie par un nom. On peut affecter une valeur à une variable, et utiliser cette valeur plus tard dans le programme. Un exemple d'utilisation des variables peut être de stocker les données entrées par un utilisateur.

Si les noms des variables sont au choix du programmeur, il est important de noter quelques règles de nommages :

  • les noms de variables commencent par un $

  • les noms de variables sont de longueur quelconque

  • les noms de variables peuvent contenir des chiffres, des lettres et le signe underscore

  • les noms des variables sont sensibles à la casse.

Contrairement à beaucoup d'autres langages, la déclaration des variables n'est pas une obligation en Php. Lorsqu'elle est omise, cette déclaration est implicite au moment de la première affectation. L'affectation est l'instruction qui permet de stocker une valeur dans une variable, elle est définie par le signe =.

C'est donc la première affectation qui détermine le type de la variable. Le type d'une variable représente le type de données qu'elle va pouvoir contenir : numérique, caractère, tableau, ...

Exemple 4. Affectations et variables


<p>Hello World!
<? $age = 33; 
   $nom = "Ivan"; ?>
<br />Hello <? echo $nom; ?>
<br />Tu as <? echo $age; ?> ans
</p>


Exemple 5. Variables et inclusion de code HTML


<p>Un exemple d'inclusion de code Php avec des variables 
pour stocker par exemple une URL
<? $base_url = "http://www.kurzweg.info"; ?>
<br />La racine de ce site se trouve 
<a href="<? echo $base_url?>"alt="racine">ici</a> 
</p>


Note

Il est possible de supprimer une variable (et pas seulement sa valeur) en utilsant la fonction unset($var).

1.4. Opérateurs

Nous avons vu comment déclarer des variables et leur affecter des valeurs. Voyons maintenant comment manipuler ces valeurs :

1.4.1. Opérateurs arithmétiques

Tableau 1. Opérateurs arithmétiques

OpérateurDescription
+Addition
-Soustraction
*Multiplication
/Division
%Modulo (reste de la division entière)


1.4.2. Opérateurs de comparaison

Les opérateurs de comparaison permettent d'obtenir une valeur booléenne VRAI ou FAUX selon le résultat de l'expression :

Tableau 2. Opérateurs de comparaison

OpérateurDescription
==Egalité
>Strictement supérieur
>=Supérieur ou égal
<Strictement inférieur
<=Inérieur ou égale
!=Non égalité
<>Non égalité


1.4.3. Opérateurs logiques

Les opérateurs logiques permettent par exemple de combiner les résultats de comparaisons. Il renvoient la valeur booléenne VRAI ou FAUX.

Tableau 3. Opérateurs logiques

OpérateurVrai quand ...
ORune des deux opérandes est VRAI
ANDles deux opérandes sont VRAI
XORUniquement lorsqu'un opérande est VRAI, pas les deux


1.5. Tableaux

Les tableaux sont des structures de données permettant de stocker plusieurs valeurs dans une même variable. Très utilisés en PHP, on dispose de tableaux à une ou plusieurs dimensions.

1.5.1. Tableau à une dimension

Un tableau à une dimension permet donc de stocker plusieurs valeurs de même type dans une même variable. L'accès à chaque cellule du tableau se fait en utilisant un indice : une entier commençant à 0 ou une chaîne de caractère identifiant la cellule.

Exemple : 
$prof[0] = "Assoune";
$prof[1] = "Obré";
$prof[2] = "Lausin";
$prenoms_enseignant['Assoune'] = "Maximin";
$prenoms_enseignant['Obré'] = "Philippe";
$prenoms_enseignant['Lausin'] = "Benoit";

Il est possible de déclarer et d'affecter des valeurs à un tableau en utilisant le constructeur array().

Exemple : 
$prof = array("Assoune", "Obré", "Lausin");
$prenoms_enseignant = array('Assoune' => "Maximin",
     'Obré' => "Philippe",
     'Lausin' => "Benoit");

1.5.2. Tableau à plusieurs dimension

Les tableaux à plusieurs dimensions permettent de stocker plusieurs valeurs dans chaque cellule du tableau. Il faut néanmoins respecter l'ordre et le type de chaque valeur.

Exemple : 
$prof[0][0] = "Assoune";
$prof[1][0] = "Obré";
$prof[2][0] = "Lausin";
$prof[0][1] = "Maximin";
$prof[1][1] = "Philippe";
$prof[2][1] = "Benoit";

1.6. Exercices d'applications

1.6.1. Analyse de code

Interprétez et corrigez si nécessaires les extraits de code suivants :

  1. $string = 'c'est surement un probleme de guillemets';
    echo $string
  2. $age = 12;
    $result1 = "$age";
    $result2 = "$age';
    echo $result1;
    echo "<br />";
    echo $result2;
  3. $nb = 10;
    $ch1 = "Il y a '$nb' personnes connectées";
    $ch2 = `Il y a "$nb" personnes connectées. ';
    echo $ch1,"<br />\n";
    echo $ch2;
  4. $string1 = `Hello';
    $string2 = `World!';
    $stringall = $string1.$string2;
    echo $stringall;
  5. $nix = "BSD";
    echo "Free$nix, Open$nix, PC$nix sont tous des Unix libres ...";
  6. $number = 2;
    $string = "Hello";
    $combined = $number + $string;
    $combined2 = $number.$string;
    echo $combined;
    echo <br />;
    echo $combined2;
  7. $cpt=4;
    $cpt+=2;
    $cpt-=3;
    $cpt*=2;
    $cpt/=3;
    echo $cpt;

1.6.2. Instructions simples

Ecrivez le code permettant d'inverser le contenu de deux variables $x et $y. (au départ, $x contient 2 et $y contient 4, et c'est l'inverse en fn de programme). Le programme devra afficher le contenu des variables avant et après le traitement.

Ecrivez une page PHP qui fournit le code HTML affichant sur la même page :

  1. La surface et la circonférence d'un cercle de 2cm de rayon (PI et le rayon devront être stockés dans des variables)

  2. Le résultat de l'évaluation de l'expression ((VRAI et FAUX) OU VRAI) ET FAUX

  3. Le résultat de l'évaluation de l'expression ((VRAI et FAUX) OU (VRAI ET FAUX))

  4. La phrase la date actuelle est :date et il est : heure

  5. Le nom de la machine

  6. Un lien vers les différentes informations sur les modules et les versions de PHP disponibles sur votre machine.

1.6.3. Fiche stagiaire

Reprenez la fiche stagiaire créée dans le cours HTML, et stockez toutes les valeurs (nom, prénom, etc ..) dans la première case d'un tableau (à plusieurs dimensions). Affichez ensuite la page en utilisant ce tableau.

Skins :
Transparence
Simple
Page Accueil
Formation