Class template

Répondre
eljam
eljam
Déconnecté
Voici une classe template que j'ai fait toute simple.
Template_class.php:

  1. <?php class template  
  2. {  
  3.  
  4. function template ($chemin){  
  5.  
  6. $modele = @fopen ($chemin, 'r');  
  7.  
  8. $this->content = @fread ($modele, @filesize ($chemin));  
  9.  
  10. @fclose ($modele);  
  11.  
  12.  
  13. }  
  14.  
  15.  
  16. function assign ($field, $value){  
  17.  
  18. $this->fields[$field] = $value;                        
  19.             
  20. }  
  21.  
  22.  
  23.  
  24. function parse (){  
  25.  
  26. foreach ($this->fields as $key => $value){  
  27.  
  28. $result = ereg_replace ("{".$key."}", $value,$this->content);  
  29.  
  30. $this->content = $result;  
  31. }  
  32. }  
  33.  
  34.  
  35. function display (){  
  36.  
  37. echo $this->content;  
  38. }  
  39. }?>
  40.  

Le problème est que je ne peux qu'afficher des variables, et j'aimerai pouvoir prendre le code de tout une page pour l'assigné à une valeur.

index.php:

  1. <?php
  2. require ("template_class.php");  
  3. $test="bonjour";  
  4. // Création d'une nouvelle instance de la classe et définition d'un gabarit  
  5. $tpl = new template ("template.php");  
  6.  
  7. // Initialisation des variables du gabarit  
  8. $tpl->assign ("TITRE", "Test de notre classe.");  
  9. $tpl->assign ("TITRETEXTE", "Mon article");  
  10. $tpl->assign ("ARTICLE", "$test");  
  11.  
  12. // Analyse du template  
  13. $tpl->parse ();  
  14.  
  15. // Affichage du résultat  
  16. $tpl->display();  
  17. ?> 


Voici le code de template.php:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>{TITRE}</title>
  5. </head>
  6. <body>
  7. <table border="1">
  8. <tr>
  9. <td>{TITRETEXTE}</td>
  10. </tr>
  11. <tr>
  12. <td>{ARTICLE}</td>
  13. <tr>
  14. </table>
  15. </body>
  16. </html> 
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog