Vous êtes sur la page 1sur 10

Le langage PHP (Dynamisme côte serveur)

Chapitre 1 : Introduction à PHP et syntaxe

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

2.1. Comment fonctionne un site web dynamique


Lorsque le site est dynamique, il y a une étape intermédiaire : la page est générée.
1. Le client demande au serveur à voir une page web.
2. Le serveur prépare la page spécialement pour le client.
3. Le serveur lui envoie la page qu'il vient de générer.

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.

2.2. Comment fonctionne PHP


La consultation d’une adresse de site (URL) depuis un navigateur (client), permet au serveur de
renvoyer une page. Lorsqu’il s’agit d’une page HTML, elle est renvoyée telle qu’elle a été écrite,
mais l’appel d’une page PHP se passe différemment, car les scripts PHP sont exécutés directement
sur le serveur, et la page renvoyée est en code HTML.
1. L'internaute saisit l'adresse Internet d'une page PHP dans le navigateur ;
2. Cette adresse est envoyée à un ordinateur appartenant à votre fournisseur d'accès à Internet
(par la ligne téléphonique, ou fibre optique, ou câble réseau, réseau sans fil, etc.). Elle est
analysée par les équipements d'entrée pour localiser le serveur sur lequel se trouve la page
demandée ;
3. Le serveur reçoit et analyse la page ;
4. Les parties entre balises PHP ( <?php ..... ?> ) sont envoyées au module PHP pour y
être exécutées ;
5. Les instructions faisant référence aux bases de données sont transférées au module base de
données ;
6. Le module base de données renvoie les données ;

Web Dynamique – Chapitre1: Introduction à PHP et syntaxe Page 2/10


7. Le module PHP intègre ces données, et renvoie au serveur HTTP le code HTML généré ;
8. Les données sont renvoyées par le serveur ;
9. Puis acheminées jusqu'au le poste client, la page est affichée ;

3. Eléments de base de PHP


Le code PHP vient s'insérer au milieu du code HTML. On va progressivement placer dans nos pages
web des morceaux de code PHP à l'intérieur du HTML. Ces bouts de code PHP seront les parties
dynamiques de la page, c'est-à-dire les parties qui peuvent changer toutes seules (c'est pour cela
qu'on dit qu'elles sont dynamiques).

3.1. Les formes de la balise <?php ?>

<?php
/* Le code PHP se met ici
Et ici
Et encore ici */
?>

Il existe 3 variantes (équivalentes pour HTML):


 <?php ..... ?> : C'est la seule notation officielle qui marchera quelle que soit la
configuration de PHP (FORTEMENT RECOMMANDEE)

<?php echo("bonjour"); ?>

 A éviter : <? .... ?> : Cette notation doit être autorisée dans le fichier de configuration de
PHP (short_open_tag)

<? echo("bonjour"); ?>

Web Dynamique – Chapitre1: Introduction à PHP et syntaxe Page 3/10


 <script> : rarement utilisés

<script language="php">
echo("bonjour");
</script>

3.2. Placement des balises PHP


On insère une balise PHP dans la page HTML :
 Dans le corps d’une page HTML : <BODY> <?php /* Code PHP */ ?> </ BODY >
 Dans l’entête : section <HEAD><?php /* Code PHP */ ?> </HEAD>

 Au milieu d'une balise HTML : <… <?php /* Code PHP */ ?> … />

3.3. Affichage de texte

<?php echo "Ceci est du texte"; ?>

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
« /* ... */ »

Web Dynamique – Chapitre1: Introduction à PHP et syntaxe Page 4/10


4. Les variables dans PHP

4.1. Concept de variable avec PHP


Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être
modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois
types :
 scalaires
 tableaux
 tableaux associatifs
Quel que soit le type de variable, son nom doit obligatoirement être précédé du caractère dollar ($).
Contrairement à de nombreux langages de programmation, comme le langage C, les variables en
PHP n'ont pas besoin d'être déclarées, c'est-à-dire que l'on peut commencer à les utiliser sans en
avoir averti l'interpréteur précédemment, ainsi si la variable existait précédemment, son contenu est
utilisé, sinon l'interpréteur lui affectera la valeur en lui assignant 0 par défaut.

4.2. Nommage des variables


Avec PHP, les noms de variables doivent répondre à certains critères :
 un nom de variable doit commencer par une lettre (majuscule ou minuscule) ou un "_" (pas
par un chiffre)
 un nom de variable peut comporter des lettres, des chiffres et le caractère "_" (les espaces ne
sont pas autorisés)

Nom de variable correct Nom de variable incorrect Raison

$Variable $Nom de Variable comporte des espaces

$Nom_De_Variable $123Nom_De_Variable commence par un chiffre

$nom_de_variable $toto@mailcity.com caractère spécial @

$nom_de_variable_123 $Nom-de-variable signe - interdit

$nom_de_variable nom_de_variable ne commence pas par $

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.

Web Dynamique – Chapitre1: Introduction à PHP et syntaxe Page 5/10


4.3. Tester si une variable est bien définie avec isset
La fonction « isset($v) » verifie si la variable « $v» est bien définie, ce n'est que dans ce cas
qu'elle renvoie la valeur vrai (true). Dans le cas inverse, le résultat du test est false.
Exemple :

<?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)

Instruction Type de la variable


$Variable = 0; type entier
$Variable = 12; type entier
$Variable = 0.0; type réel
$Variable = 12.0; type réel
$Variable = "0.0"; type chaîne
$Variable = "Bonjour tout le monde"; type chaîne

 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.

Web Dynamique – Chapitre1: Introduction à PHP et syntaxe Page 6/10


5.1. Le type chaîne de caractères
Ce type permet de stocker du texte. Pour cela, vous devez entourer votre texte de guillemets doubles
"" ou de guillemets simples '' .
Si vous voulez insérer un guillemet simple alors que le texte est entouré de guillemets simples, il faut
l'échapper. De même pour les guillemets doubles :

<?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
?>

Web Dynamique – Chapitre1: Introduction à PHP et syntaxe Page 7/10


5.2. Principales fonctions sur les chaînes de caractères
 strtolower($ch) : conversion majuscules→minuscules ;
 strtoupper($ch) : conversion minuscules→majuscules ;
 explode($separateur, $ch) ou split($separateur, $ch) : découper une chaîne
(renvoient un tableau).
 strlen($ch) : longueur d'une chaîne ;
 strpos($ch, $sous_chaine) : position d'une chaîne dans une autre ;
 remplacer une partie d'une chaîne par une autre : str_replace ou substr_replace ;
 substr($ch, $i, $length) : un extrait d'une chaîne ;

6. Les tableaux

6.1. Variables tableaux simples (accès par indices)


Les tableaux stockent des données sous forme de liste. Les données contenues dans la liste sont
accessibles grâce à un index (un numéro représentant l'élément de la liste). Contrairement à des
langages tels que le langage C, il est possible de stocker des éléments de types différents dans un
même tableau.
Il est toujours recommandé d’initialiser une variable tableau à l’aide de la fonction « array() ».
Exemple :

<?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';

// Syntaxe 2 : initialisation avec des valeurs


$Prenoms1=array('Maurice','Jean','Pierre','Paul','Gérard');
echo $Prenoms1[4]; // affiche 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;

Web Dynamique – Chapitre1: Introduction à PHP et syntaxe Page 8/10


$Tableau[1] = "Toto";

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";

 Les indices de tableau commencent à zéro


 Tous les types de variables peuvent être contenus dans un tableau
Remarques :
 La fonction « count($tab) » compte le nombre d’éléments d’un tableau.

<?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) »

6.2. Variables tableaux associatifs


Un tableau associatif est un tableau composé de couples clé chainée / valeur. A chaque clé est
référencée une valeur.
Il est apparu pour pallier les faiblesses du tableau à index numériques. En effet pour ce dernier, il
faut absolument connaître son emplacement pour atteindre la valeur et pour un programmeur ce n'est
pas toujours le cas. De plus, une valeur repérée par un index à moins de sens que cette même valeur
repérée par une clé chainée.
Pour accéder à l'une des valeurs du tableau, il suffit d'y faire référence de la manière suivante :
$tableau['cle'].

// Syntaxe 1 : initialisation de tableau associatif vide


$identite = array();
$identite['prenom'] = 'Toto' ; // ajout d’une clé prenom
$identite['age'] = 19 ;
$identite['estEtudiant'] = true;

// Syntaxe 2 : initialisation de tableau associatif avec des valeurs


$identite2 = array(
'prenom' => 'Toto',
'age' => 19,

Web Dynamique – Chapitre1: Introduction à PHP et syntaxe Page 9/10


'estEtudiant' => true
);
echo "L’age de Toto est ".$identite2['age'];
?>

6.3. Principales fonctions sur les tableaux


 array_key_exists($key,$tab) : pour vérifier si une clé existe dans l'array
 in_array($value, $tab) : retourne une valeur booléenne pour vérifier si une valeur
existe dans l'array
 array_search($value, $tab) : retourne la position de $value (pour le tableau simple)
ou la clé de la valeur $value (pour le tableau associatif)

7. Définition de constantes dans PHP


Une constante est une variable dont la valeur est inchangeable lors de l'exécution d'un programme.
Avec PHP, les constantes sont définies grâce à la fonction define(). la syntaxe de la fonction
define() est la suivante :

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 ;
?>

Par convention, un nom de constante s'écrit en majuscule.

Web Dynamique – Chapitre1: Introduction à PHP et syntaxe Page 10/10

Vous aimerez peut-être aussi