IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ bibliothèques et extensions PHP

FAQ bibliothèques et extensions PHPConsultez toutes les FAQ

Nombre d'auteurs : 7, nombre de questions : 71, dernière mise à jour : 16 juin 2021 

 
OuvrirSommaireTemplates

Un template est un outil qui permet de séparer la programmation PHP d'un site et sa présentation.

Un site PHP qui ne se sert pas d'un moteur de templates va presque inévitablement mélanger le travail de traitement (préparation des données, modifications dans la base de données, interprétation d'une saisie utilisateur, etc..) et la préparation de la page HTML qui sera envoyée au navigateur.

Pour la réalisation d'un tout petit site qui ne sera jamais modifié, l'utilisation d'un template est discutable, mais dans tous les autres cas de figure, le template fera gagner du temps, améliorera la qualité de présentation du site et facilitera le travail des développeurs.

Créé le 28 avril 2003  par Eric Berger

Le but est de séparer le travail fait avec PHP de la mise en forme du résultat fourni par ce dernier.

Généralement, ces deux tâches sont séparées dans des fichiers distincts. Ce qui permet de mieux marquer la frontière entre ces deux travaux et de changer facilement le modèle à utiliser (souvent appelé skin). Ainsi il sera possible de dire au fichier de traitement d'utiliser un modèle ou un autre simplement en spécifiant où se trouve le fichier correspondant.

Le fichier source PHP Il ressemble à tout autre fichier PHP, si ce n'est qu'il ne contient pas de code HTML. Seul le travail de programmation y est effectué. Lorsqu'une donnée est prête pour l'affichage, on la donne au moteur de template en expliquant de quelle donnée il s'agit, c'est ensuite lui qui se chargera de le transmettre au fichier de présentation HTML.

Le fichier de présentation Généralement un banal fichier HTML accompagné d'une feuille de style. Cependant, on ajoutera aux endroits où du contenu dynamique devra apparaître des marqueurs qui indiquent les points d'insertion du contenu.

Pas d'exemple ? Aucun exemple n'est présenté car chaque système de template utilise une syntaxe qui lui est propre. Un exemple de code ne serait donc pas représentatif de l'utilisation des templates « en général ». Certains templates utilisent des balises HTML, d'autres des balises XML et certains utilisent des marqueurs spéciaux écrits dans une remarque HTML < !-- et -->.

Créé le 28 avril 2003  par Eric Berger

Lien : Création d'un moteur de templates en PHP, par Christophe SionPHP et les templates
Lien : Création d'un système de templates en PHP 5, par Adrien Pellegrini

PHP Base Library est l'une des premières bibliothèques permettant d'utiliser un système de gabarits.

L'idée de la phplib est d'utiliser des fichiers de gabarit (l'extension classique est ".ihtml") qui contiennent le code HTML utilisé. Ces gabarits sont de véritables patrons, ils définissent uniquement une structure ou des éléments de structure. C'est un moule qui ne comporte aucun élément de logique.

L'utilisation de la phplib n'est plus recommandée car son développement a été arrêté. D'autres projets ont cependant repris la phplib, par exemple phpBB.

Créé le 1er juin 2007  par Guillaume Rossolini

Lien : Qu'est-ce qu'un template ?
Lien : Quel est le principe de fonctionnement d'un template ?
Lien : Quels sont les principaux systèmes de template ?
Lien : Comparatif : Découverte des principaux moteurs de template en PHP, par Guillaume Rossolini

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.