EPAI, Jérôme Frossard (2016)

PHP, TEMPLATE ET HTTP

Développer des application Web Notion de template

1

¨ Un template est modèle de document, c’est-à-dire un document dont la forme est définie, mais dont une partie du contenu est variable.

¨ Pour réaliser les parties variables, on insère dans le texte du document des instructions qui permettront au moteur de template de produire le texte variable.

¨ On utilise généralement des balises telles que <% et %>, pour séparer les instructions que le moteur de template doit interpréter, du texte qu’il doit copier sans changement dans le ou les documents résultants.

EPAI, Jérôme Frossard (2016) Notion de moteur de template

2

¨ Un moteur de templates (template processor) est un programme qui combine un template (modèle) et des données pour produire un ou plusieurs documents.

Données

...

Moteur de Documents templates résultants

...

Template (patron)

¨ Quelques exemples : ASP.NET, JSP, Apache Velocity

EPAI, Jérôme Frossard (2016) PHP, un langage de template ?

3

¨ Le code PHP peut être intégré dans n’importe quel fichier de texte grâce aux balises PHP ()

¨ À l’exécution, les balises PHP sont remplacées par le texte affiché par le code.

¨ PHP peut donc être utiliser comme un langage de template et son interpréteur comme un moteur de template.

EPAI, Jérôme Frossard (2016) Exemple de template PHP

4

Fichier guestbook. Livre d'or // inclut le fichier autoload.php qui contient // les fonctions nécessaires au chargement des // classes utilisée dans le script. require_once('../library/autoload.php');

Livre d'or

// appelle la méthode getAllMessages définie
// dans la classe MessageDAO et qui renvoie
// un tableau d’objets de type Message. Jean
$dao = new \Guestbook\MessageDAO(); Merci pour toutes ces informations! $messages = $dao->getAllMessages();
?>
Cette portion de code ne Pierre
produit pas de texte Super site, plein d'informations utiles.
Ce retour à la ligne est
LivreCopié dans d’or la sortie standard Grégoire
Bof... Rien de bien intéressant
Les balises PHP peuvent

Livre d’or

apparaître n'importe où
getPseudo(); ?>
getMessage(); ?>
Interpréteur Pour chaque message, répète la partie du PHP