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.
Le client envoi une requête (URL) au serveur WEB http://www.domaine.com/page1.php par exemple.
Le serveur HTTP récupère le fichier sur le disqeu
Grâce à l'extension. (.PHP) du fichier, il le transmet au parser PHP pour être éxécuté.
Le résultat (sauf erreur) est retourné au client , sous forme de page HTML
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.
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).
Nous avons vu comment déclarer des variables et leur affecter des valeurs. Voyons maintenant comment manipuler ces valeurs :
Tableau 1. Opérateurs arithmétiques
| Opérateur | Description |
|---|---|
| + | Addition |
| - | Soustraction |
| * | Multiplication |
| / | Division |
| % | Modulo (reste de la division entière) |
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érateur | Description |
|---|---|
| == | Egalité |
| > | Strictement supérieur |
| >= | Supérieur ou égal |
| < | Strictement inférieur |
| <= | Inérieur ou égale |
| != | Non égalité |
| <> | Non égalité |
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érateur | Vrai quand ... |
|---|---|
| OR | une des deux opérandes est VRAI |
| AND | les deux opérandes sont VRAI |
| XOR | Uniquement lorsqu'un opérande est VRAI, pas les deux |
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.
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");
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";
Interprétez et corrigez si nécessaires les extraits de code suivants :
$string = 'c'est surement un probleme de guillemets'; echo $string
$age = 12; $result1 = "$age"; $result2 = "$age'; echo $result1; echo "<br />"; echo $result2;
$nb = 10; $ch1 = "Il y a '$nb' personnes connectées"; $ch2 = `Il y a "$nb" personnes connectées. '; echo $ch1,"<br />\n"; echo $ch2;
$string1 = `Hello'; $string2 = `World!'; $stringall = $string1.$string2; echo $stringall;
$nix = "BSD"; echo "Free$nix, Open$nix, PC$nix sont tous des Unix libres ...";
$number = 2; $string = "Hello"; $combined = $number + $string; $combined2 = $number.$string; echo $combined; echo <br />; echo $combined2;
$cpt=4; $cpt+=2; $cpt-=3; $cpt*=2; $cpt/=3; echo $cpt;
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 :
La surface et la circonférence d'un cercle de 2cm de rayon (PI et le rayon devront être stockés dans des variables)
Le résultat de l'évaluation de l'expression ((VRAI et FAUX) OU VRAI) ET FAUX
Le résultat de l'évaluation de l'expression ((VRAI et FAUX) OU (VRAI ET FAUX))
La phrase
la date actuelle est :date et il est : heureLe nom de la machine
Un lien vers les différentes informations sur les modules et les versions de PHP disponibles sur votre machine.

echo "<p>Hello World</p>"; ?>
donnera l'interprétation suivante dans la page HTML
<p>Hello World</p>
Qui donnera dans la navigateur
Hello World