Académique Documents
Professionnel Documents
Culture Documents
PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts
CGI, ASP,...) et non du côté client (un script écrit en JavaScript ou une applet Java s'exécute sur
votre ordinateur...). La syntaxe du langage provient de celles du langage C, du Perl et de Java. Ses
principaux atouts sont :
La gratuité et la disponibilité du code source (PHP est distribué sous licence GNU-GPL :
licence qui fixe les conditions légales de distribution des logiciels libres) ;
La simplicité d'écriture de scripts ;
La possibilité d'inclure le script PHP au sein d'une page HTML;
La simplicité d'interfaçage avec des bases de données (de nombreux SGBD sont supportés,
mais le plus utilisé avec ce langage est MySQL, un SGBD gratuit disponible au niveau de
nombreuses plates-formes : Unix, Linux, Windows, MacOs X, Solaris, etc...) ;
L'intégration au sein de nombreux serveurs web (Apache, Microsoft IIS, etc.).
1. Historique
PHP est né en tant que langage de script coté serveur inclus dans le HTML et c'est dans
cette discipline qu'il excelle.
PHP, signifiait à l'origine "Personal Home Pages", a été conçu durant l'automne 1994 par Rasmus
LERDORF. Il l'a conçu pour surveiller les personnes qui venaient consulter son CV en ligne. La
première version est sortie au début de l'année 1995, à ce moment Rasmus a pensé qu'en le
distribuant sous licence Open Source, d'autres développeurs corrigeraient les bugs. La première
version était très simple et comprenait un parseur qui était capable de reconnaitre quelques macros et
fournissait quelques outils utiles pour les pages Web.
Le parseur a été réécrit durant l'année 1995 et a été renommé PHP/FI version 2. "FI" signifie "Form
Interpreter" (Interpréteur de formulaire) qui a été ajouté par Rasmus pour répondre au besoin
grandissant des pages Web. Le support de la base de données MySQL a été ajouté à ce moment.
PHP/FI est devenu populaire et des développeurs ont commencé à contribuer au développement en
envoyant des morceaux de codes.
En 1997, Zeev SURASKI et Andi GUTMANS ont réécrit le parseur et PHP est passé du projet de
Rasmus à un projet de groupe. Cela a permis la création des bases de PHP3 qui se nomment
maintenant PHP Hypertext Preprocessor (un acronyme récursif).
La version PHP4 est une nouvelle réécriture du parseur par SURASKI et GUTMANS et est basée sur le
moteur de script Zend. PHP est développé par plus de 200 personnes du monde entier sur les
différentes parties du projet. Il y a des plus en plus de modules d'extensions pour supporter en natifs
les serveurs les plus populaires, par exemple un support MySQL et ODBC.
2. Principe de fonctionnement des scripts côte serveur
La page web est générée à chaque fois qu'un client la réclame. C'est précisément ce qui rend les sites
dynamiques vivants : le contenu d'une même page peut changer d'un instant à l'autre.
C'est comme cela que certains sites parviennent à afficher par exemple votre pseudonyme sur toutes
les pages. Étant donné que le serveur génère une page à chaque fois qu'on lui en demande une, il peut
la personnaliser en fonction des préférences du visiteur.
<?php
/* Le code PHP se met ici
Et ici
Et encore ici */
?>
A éviter : <? .... ?> : Cette notation doit être autorisée dans le fichier de configuration de
PHP (short_open_tag)
<script language="php">
echo("bonjour");
</script>
Au milieu d'une balise HTML : <… <?php /* Code PHP */ ?> … />
Il existe une instruction identique à « echo » appelée « print », qui fait la même chose. Cependant,
« echo » est plus couramment utilisée.
Il est aussi possible de générer du code HTML avec des messages PHP en insérant des balises dans
la chaîne de caractères à afficher.
Exemple :
<html>
<head> <title>Notre première instruction : echo</title> </head>
<body>
<h2>Affichage de texte avec PHP</h2>
<p> Cette ligne a été écrite entièrement en HTML. <br>
<?php
echo "Celle-ci a été écrite entièrement en PHP.";
echo "<br/> Je peux aussi écrire du texte en <b>gras</b>" ; ?>
<hr/>
<?php echo "Ceci est un deuxième bloc PHP" ?>
</p>
</body></html>
Remarques :
La syntaxe de PHP ressemble à celle de famille "C" (C, C++, Java, Perl, etc.)
Chaque instruction se termine par ";"
Un commentaire est précédé soit par « // » ou par « # » (rarement utilisé), soit entouré de
« /* ... */ »
Les noms de variables sont sensibles à la casse (le langage PHP fait la différence entre un nom en
majuscule et un nom en minuscules), il faut donc veiller à utiliser des noms comportant la même
casse. Toutefois, les noms de fonctions font exception à cette règle.
<?php
$var="toto";
if(isset($var)){
echo "La variable est bien définie, elle est de type <br />";
}
else{
echo "Erreur, la variable n'est pas définie";
}
?>
5. Variables scalaires
Le langage PHP propose quatre types de variables scalaires :
entiers: nombres naturels sans décimale (sans virgule) : nombre sans virgule
réels: nombres décimaux (on parle généralement de type double, car il s'agit de nombre
décimaux à double précision) : nombres avec une virgule (en réalité un point)
chaîne de caractères : la valeur est délimitée par des guillemets (simples ou doubles)
booléen : les variables booléennes peuvent prendre deux valeurs : la valeur TRUE (vrai) et la
valeur FALSE (faux).
$afficher_options = FALSE;
$utiliser_cache = TRUE;
Le type objet : il s'agit d'un type spécial que l'on utilise uniquement avec des classes.
<?php
$variable1 = "Mon \"nom\" est Toto";
$variable2 = 'Je m\'appelle Toto';
?>
On peut en revanche insérer sans problème des guillemets simples au milieu de guillemets doubles et
inversement :
<?php
$variable1 = 'Mon "nom" est Toto;
$variable2 = "Je m'appelle Toto";
?>
Il existe des caractères repérés par un code ASCII spécial permettant d'effectuer des opérations
particulières. Ces caractères peuvent être représentés plus simplement en langage PHP grâce au
caractère anti-slash « \ » suivi d'une lettre, qui précise qu'il s'agit d'un caractère de contrôle :
Caractère Description
\" guillemet
\\ barre oblique inverse (antislash)
\$ Caractère dollar
\n retour à la ligne
\t tabulation
Remarques :
La concaténation de chaînes de caractères se fait avec l’opérateur « . »
Si une variable est passée dans la chaîne de caractères, elle sera interprétée uniquement si la
chaîne principale est entourée par des guillemets doubles.
<?php
$nom = "Toto";
$age = 20;
echo "Mon nom est " . $nom . "<br/>"; // Affiche Mon nom est Toto
echo "Mon nom est $nom <br/>"; // Affiche Mon nom est Toto
echo 'Mon nom est $nom <br/>'; // Affiche Mon nom est $nom
?>
6. Les tableaux
<?php
// Syntaxe 1 : initialisation de tableau vide
$Prenom=array();
$Prenom[0]='Maurice';
$Prenom[1]='Jean';
$Prenom[2]='Pierre';
$Prenom[3]='Paul';
$Prenom[4]='Gérard';
Pour désigner un élément de tableau, il suffit de faire suivre au nom du tableau l'indice de l'élément
entre crochets :
$Tableau = array();
$Tableau[0] = 12;
Avec PHP, il n'est pas nécessaire de préciser la valeur de l'index lorsque l'on veut remplir un tableau,
car il assigne la valeur 0 au premier élément (si le tableau est vide) et incrémente les indices suivants.
Le code précédent est équivalent à:
$Tableau = array();
$Tableau[] = 12;
$Tableau[] = "Toto";
<?php
echo count($Prenoms1) . " prénoms dans le tableau";
?>
Pour afficher le contenu d’un tableau sans avoir recours à une boucle itérative, utiliser la
fonction « print_r($tab) » ou « var_dump($tab) »
define("NOM_DE_CONSTANTE", Valeur);
Le nom d'une constante définie à l'aide de la fonction define() ne doit pas commencer par le
caractère $ (de cette façon aucune affectation n'est possible).
<?php
define("PI", 3.14);
echo "la valeur de π est" . PI ;
?>