Principes de base du langage PHP

(Version projecteur)

1 - Comparaison entre un site HTML et un site PHP

1-a Les limitations d'un site écrit en HTML

Un site Web réalisé en HTML est statique. Toute l'information du site est contenue dans les fichiers HTML et par conséquent, elle n'évoluera pas tant que ces fichiers n'auront pas été modifiés.

Un internaute visitant ce site verra donc exactement la même chose tant qu'il n'aura pas été mis à jour. De plus, il n'a aucune possibilité d'ajouter du contenu au site, comme dans un forum par exemple.

Comme tout est contenu dans les pages HTML, toute mise à jour du site, aussi minime soit-elle, entraine une modification des fichiers HTML qui le constituent via un éditeur HTML.

La figure ci-dessus rappel le principe de la navigation Web du temps où tous les sites étaient écrit en HTML. La navigation internet se résume à une communication de page Web (un fichier HTML) entre un serveur et un navigateur situé sur deux machines distantes.


1-b Les apports de l'approche Php

Avec les sites écrit en Php la navigation internet est devenu un processus beaucoup plus complexe :

Le principe de navigation à travers des sites Php est résumé par la figure ci-dessous :

  1. L'utilisateur clique sur un lien vers un fichier "toto.php".

  2. Le navigateur envoi un requête HTTP au serveur possédant ce fichier : exécute la page "toto.php"

  3. Le serveur recoit cette requête, mais il ne peut pas directement la réaliser. En effet, un serveur Web, ne sait rien faire d'autre que de distribuer des pages HTML. Comme il ne peut pas exécuter le code Php lui même, il envoie la page Php à l'interpréteur Php qui va s'en charger.

  4. L'interpréteur Php exécute le code Php contenu dans le fichier Toto.php. Cela a pour effet de générer une page HTML virtuelle. Appelons la toto.html. Cette page est virtuelle car elle n'existe pas en tant que fichier. Après avoir exécuter toto.php, l'interpréteur envoie donc toto.html au serveur.

  5. Le serveur envoie toto.html au navigateur.

  6. Le navigateur interpréte le code HTML de la page virtuelle Toto.html et l'affiche à l'écran.

Où intervient le serveur de base de données dans tout cela ? Voilà la réponse : lors de l'exécution de la page toto.php, il peut y avoir des demandes de requêtes SQL permettant de modifier ou de consulter la base de données. Ces requêtes sont adressé au serveur de base de données qui se charge de les exécuter.

Attention, je dis bien il peut y avoir . En effet, toute page Php ne contient pas forcément des instructions d'accès à la base de donnée. En fait, dans l'absolu, on peut même concevoir un site Php sans aucune base de données, mais cela n'aurait pas beaucoup d'intéret.

2 - Structure d'une page PHP

Une page Php est un fichier d'extension ".php", mélangeant du code HTML et des instructions PHP encadrées par les balises <?php et ? >.

Une page PHP contient donc de manière générale une alternance de code HTML pur et de code PHP :



Code HTML

<?php Code PHP ? >

Code HTML

<?php Code PHP ? >

.
.
Code HTML

<?php Code PHP ? >


Les parties encadrées par balises <?php et ? >, s'appelle des scripts PHP.

Le principe d'interprétation d'une page PHP est le suivant : tout ce qui est code HTML est envoyé tel quel au serveur (puis au navigateur) et les scripts PHP, sont exécutés par l'interpréteur PHP.

Il peut très bien n'y avoir aucune partie HTML dans une page PHP. Il se peut aussi que la page ne contienne aucun script PHP, mais dans ce cas le fichier aurait tout aussi bien pu être enregistré en tant que fichier HTML (avec l'extension ".html").

Parmis toutes les instructions PHP exécutées par l'interpréteur PHP, il y en a une qui joue un rôle très particulier : il s'agit de l'instruction echo. En effet, l'instruction echo permet de générer du code HTML dans la page virtuelle envoyée au navigateur. Nous allons voir cette instructions plus en détail dans la partie du cours suivante.

En résumé, le code HTML contenu dans la page virtuelle est composé