Les Templates en PHP

7 downloads 1236 Views 239KB Size Report
succès de PHP : simplicité provenant de l'imbrication ... On pilote la création de HTML depuis des fonctions PHP .... les cahiers du programmeur PHP (2) .
Les Templates en PHP Problèmes de maintenabilité, utilisation avec les Objets et les CSS Gerard Rozsavolgyi [email protected]

´ IUT Orleans

Les Templates en PHP – p. 1/21

Séparation des métiers problème classique “développeurs” vs “graphistes” ou “maquetteurs” illustré en Java, passage des Servlets ou JSP, puis J2EE... XML peut être une solution surtout si on veut du multi-support (XHTML, WAP, PDF, etc.) succès de PHP : simplicité provenant de l’imbrication naturelle PHP/HTML

Les Templates en PHP – p. 2/21

Un Mélange PHP/HTML “classique” 



Votre navigateur < c e n t e r >Vous u t i l i s e z I n t e r n e t E x p l o r e r < / b> < c e n t e r >Vous n’utilisez pas Internet Explorer





Listing 1 – imbrication.php Les Templates en PHP – p. 3/21

Génération de HTML à partir de PHP On pilote la création de HTML depuis des fonctions PHP qui renvoient des fragments HTML fonction resultatSQLverstableHTML() des fonctions pour fabriquer des listes déroulantes, etc. des fonctions pour gérer les ancres et les liens, etc. des fichiers header.php, footer.php, menu.php, ... (ou .html) qui prennent en charge des parties fixes des pages du site, etc. des objets spécialisés avec leurs méthodes Pb : qui fait ca ? Maintenance ? Lisibilité ?

Les Templates en PHP – p. 4/21

Autre approche : les templates on essaie de dissocier davantage la manipulation HTML du codage en PHP fichiers templates proches du HTML qu’on peut utiliser à travers un fichier php correspondant Exemples : FastTemplates, PHPLIB, SMARTY,VTemplates ,ModeliXe, etc.

Les Templates en PHP – p. 5/21

Principe des templates principes techniques dérivés de m4 ou du perl (FastTemplates) essai de séparation des métiers popularisés dans une forme limitée par des logiciels comme DREAMWEAVER parfois systèmes de cache (SMARTY, VTemplates) simples ?

Les Templates en PHP – p. 6/21

templates : l’exemple de PHPLIB 

Un fichier template proche du HTML “paramétrable” :



{ TITRE_ENTETE } < / TITLE> < /HEAD>

{ TITRE_PAGE } < / H1>

Bonjour , vous u t i l i s e z {NOM_NAVIGATEUR } . < / B> comme navigateur internet .

Nous sommes l e {DATE} < / B> , i l e s t {HEURE} < / B> heures . < /BODY> < /HTML>





Listing 2 – ExTemplate.tpl

un fichier PHP correspondant Les Templates en PHP – p. 7/21

templates PHPLIB Le fichier PHP correspondant :











Listing 6 – temp tab.php V1

Les Templates en PHP – p. 15/21

Tableau avec BLOC et un seul template(v2) 



< t a b l e border="1" cellspacing ="0" cellpadding="0" width="200"> < !−− BEGIN L I G N E −−> {NOM} < / td> {AGE} < / td> < !−− END L I G N E −−> < / table> < / html>





Listing 7 – tableau.tpl V2

Les Templates en PHP – p. 16/21

Puis utilisation du BLOC 









Listing 8 – temp tab.php V2

Les Templates en PHP – p. 17/21

Autres exemples Voir par exemple le fichier soutenances.tpl

Les Templates en PHP – p. 18/21

Avec les CSS

Les Templates en PHP – p. 19/21

Conclusion Provisoire Solution intermédiaire Ne pas choisir un système trop complexe XML + XSLT ?

Les Templates en PHP – p. 20/21

Références site de Zeev Suraski et Andi Gutmans : http://www.zend.com/php5/ le document de synthèse sur les templates Nicolas BIOT et Armet Fauveau.Globalis ms (2002). Pratique de MySQL et PHP (2eme Edition). Philippe Rigaux O’Reilly qui comporte un chapitre sur PHPLib. les cahiers du programmeur PHP (2) . P. Chaléat et D. Charnay. Eyrolles qui évoque SMARTY. site de Bertrand Soulier : http://www.bertrand-soulier.com/php/tutoriaux/

Les Templates en PHP – p. 21/21