Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1522 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Generer le code html avec une classe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Generer le code html avec une classe

n°524020
impulse
Posté le 26-09-2003 à 15:27:03  profilanswer
 

Est ce que vous pensez que c'est une bonne idée de confier la generation de code HTML a une classe? Il serait possible de separer le code php du code html de cette façon. La presentation serait gerée grace a des feuilles de style.
 
En gros ce serait un truc dans ce genre :
 

Code :
  1. HtmlRenderer.class.php
  2. <?php
  3. class HtmlRenderer {
  4.     function htmlStart ($xmlns)
  5.     {
  6.         echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
  7.         echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
  8.         $string = "<html xmlns=\"".$xmlns."\">\n";
  9.         echo $string;
  10.     }
  11.     function htmlEnd ()
  12.     {
  13.         echo "</html>\n";
  14.     }
  15.     function headStart ()
  16.     {
  17.         $string = "<head>\n";
  18.         echo $string;
  19.     }
  20.     function headEnd ()
  21.     {
  22.         echo "</head>\n";
  23.     }
  24.     function bodyStart ()
  25.     {
  26.         echo "<body>\n";
  27.     }
  28.     function bodyEnd ()
  29.     {
  30.         echo "</body>\n";
  31.     }
  32.     function formStart ($class, $action, $method, $enctype)
  33.     {
  34.         $string = "<form class=\"".$class."\" action=\"".$action."\" method=\"".$method."\" enctype=\"".$enctype."\">\n";
  35.         echo $string;
  36.     }
  37.     function formEnd ()
  38.     {
  39.         echo "</form>\n";
  40.     }
  41. }
  42. ?>


 

Code :
  1. renderer.php
  2. <?php
  3. include_once ("HtmlRenderer.class.php" );
  4. $page = new HtmlRenderer;
  5. $page->htmlStart("http://www.w3.org/1999/xhtml" );
  6. $page->headStart();
  7. $page->headEnd();
  8. $page->bodyStart();
  9. $page->formStart("test", "toto.php", "POST" );
  10. $page->formEnd();
  11. $page->bodyEnd();
  12. $page->htmlEnd();
  13. ?>


 
Bon, c'est hyper basique comme exemple mais c'est juste pour comprendre le principe.

mood
Publicité
Posté le 26-09-2003 à 15:27:03  profilanswer
 

n°524122
Azzazel
Posté le 26-09-2003 à 16:22:15  profilanswer
 

Ce serait pas le principe de n'importe quel outil de template ça :D

n°524193
Cherrytree
cn=?
Posté le 26-09-2003 à 17:53:12  profilanswer
 

Si. Certains adorent, d'autres trouvent que non. Perso, je trouve que sapu.


---------------
Le site de ma maman
n°524217
impulse
Posté le 26-09-2003 à 18:34:23  profilanswer
 

Citation :

Ce serait pas le principe de n'importe quel outil de template ça  


 
Non, pas du tout.
 

Citation :

Si. Certains adorent, d'autres trouvent que non. Perso, je trouve que sapu.


 
Nan nan.
 
Les templates c'est pas ça. Avec un systeme de templates t'as un fichier html avec des balises speciales (mais pas de PHP) et un fichier PHP. Le template est parsé et les balises sont remplacées par les valeurs qui vont bien.
 
La c'est juste une classe qui genere du html, y'a pas de template.
 
T'as deja essaye d'utiliser des templates Cherrytree au fait?

n°524223
gizmo
Posté le 26-09-2003 à 18:54:01  profilanswer
 

Quel est l'intérêt de ton truc par rapport à un système de template?

n°524267
impulse
Posté le 26-09-2003 à 19:51:02  profilanswer
 

Citation :

Quel est l'intérêt de ton truc par rapport à un système de template?


 
Ben je sais pas justement. C'est pour ça que je voudrais bien votre avis. :D

n°524277
Hermes le ​Messager
Breton Quiétiste
Posté le 26-09-2003 à 20:00:57  profilanswer
 

Cherrytree a écrit :

Si. Certains adorent, d'autres trouvent que non. Perso, je trouve que sapu.


 
+1

n°524278
gizmo
Posté le 26-09-2003 à 20:02:00  profilanswer
 

Moi je n'en vois aucune. Un gestionnaire de template utilise une syntaxe unique pour recevoir les donnée qui sont nommée, ainsi, tu peux très bien remplacer ton template HTML par un tout autre support (PDF, XML, RSS,...) ce qui n'est pas possible avec ta structure. Et question performance, on ne gagne rien, entre un include et un autre...

n°524283
impulse
Posté le 26-09-2003 à 20:10:10  profilanswer
 

Citation :

Moi je n'en vois aucune. Un gestionnaire de template utilise une syntaxe unique pour recevoir les donnée qui sont nommée, ainsi, tu peux très bien remplacer ton template HTML par un tout autre support (PDF, XML, RSS,...) ce qui n'est pas possible avec ta structure. Et question performance, on ne gagne rien, entre un include et un autre...


 
Bah moi j'aime bien le principe des templates. J'essaye juste de voir si on peut faire autrement parce que ce systeme a qd meme des defauts (la lenteur par exemple).
 
Hermes, Cherrytree => vous avez deja essaye d'utiliser des templates?  
 

n°524285
Hermes le ​Messager
Breton Quiétiste
Posté le 26-09-2003 à 20:12:21  profilanswer
 

impulse a écrit :

Citation :

Moi je n'en vois aucune. Un gestionnaire de template utilise une syntaxe unique pour recevoir les donnée qui sont nommée, ainsi, tu peux très bien remplacer ton template HTML par un tout autre support (PDF, XML, RSS,...) ce qui n'est pas possible avec ta structure. Et question performance, on ne gagne rien, entre un include et un autre...


 
Bah moi j'aime bien le principe des templates. J'essaye juste de voir si on peut faire autrement parce que ce systeme a qd meme des defauts (la lenteur par exemple).
 
Hermes, Cherrytree => vous avez deja essaye d'utiliser des templates?  
 


 
oui, et maintenant, c'est non.  :)  
 
ça ne fait que ralentir les applications pour un minuscule gain en lisibilité du code. En fait, plus on progresse et on est capable de coder proprement, moins les templates sont utiles...

mood
Publicité
Posté le 26-09-2003 à 20:12:21  profilanswer
 

n°524288
gizmo
Posté le 26-09-2003 à 20:13:41  profilanswer
 

la lenteur du templates, c'est uniquement si tu le reparses à chaque itération, sinon la seule lenteur que tu as, c'est de vérifier que ton template en cours est bien le dernier (comparaison d'une date), pour le reste, ce n'est pas plus lent vu que c'est du HTML avec le minimum de php imbriqué dedans, ce qui est plus rapide que l'inverse.

n°524304
impulse
Posté le 26-09-2003 à 20:36:36  profilanswer
 

Citation :

ça ne fait que ralentir les applications pour un minuscule gain en lisibilité du code. En fait, plus on progresse et on est capable de coder proprement, moins les templates sont utiles...


 
Dans 99% des cas tu ne dois meme pas ressentir une difference de perf. Le truc qui tue une appli web generalement c'est une requete mal foutue ou une connerie ds le genre. De plus, libre a toi d'optimiser ton code, tes requetes et d'utiliser un systeme de cache pour ameliorer les perfs. Bien sur il ne faut pas se tourner vers un moteur de templates mal codé ou trop lourd, il faut bien choisir (il existe des solutions tres rapides et tres legeres).
 

n°524329
Cherrytree
cn=?
Posté le 26-09-2003 à 21:31:48  profilanswer
 

impulse a écrit :

Citation :

Moi je n'en vois aucune. Un gestionnaire de template utilise une syntaxe unique pour recevoir les donnée qui sont nommée, ainsi, tu peux très bien remplacer ton template HTML par un tout autre support (PDF, XML, RSS,...) ce qui n'est pas possible avec ta structure. Et question performance, on ne gagne rien, entre un include et un autre...


 
Bah moi j'aime bien le principe des templates. J'essaye juste de voir si on peut faire autrement parce que ce systeme a qd meme des defauts (la lenteur par exemple).
 
Hermes, Cherrytree => vous avez deja essaye d'utiliser des templates?  
 
 


Non, j'ai par contre lu un chapitre de mon livre de PHP favori, Professional PHP 4, montrant à quel point OOH (c'est stricto-sensu ce que tu es en train de ré-inventer) était génial... avec ses lacunes et sa syntaxe PHP qui n'apportent rien, sauf, il est vrai plus d'unité pour le code de la page. Mais franchement est-ce que ça en vaut la peine. Je ne crois pas.


Message édité par Cherrytree le 26-09-2003 à 21:33:00
n°530490
omega2
Posté le 03-10-2003 à 17:39:42  profilanswer
 

ben moi, entre un fichier html à modifier pour modifier l'apparence de tout le site ou plusieurs ddisaines de fichiers php, j'ai choisit.
C'est peut être un peu plus long mais au moins un changement d'apparence ce fait en quelques minutes et on évite aussi de ce retrouver avec une apparence zarbi par ce qu'un test a merdé ou qu'un fichier php est simplement buggé. ;)
 
Il faut juste savoir ce qu'on veut : de la performance a tout pris, ou de la facilité de coding & mise a jour de la charte graphique.

n°530585
Cherrytree
cn=?
Posté le 03-10-2003 à 20:16:19  profilanswer
 

En te lisant, je ne suis pas sûr de partager ton point de vue. J'ai même l'impression que nos points de vue sont radicalement divergents.
 
En général, l'avantage de faire ton site en PHP, c'est par exemple l'utilisation des pseudo-frames, lesquelles assurent la cohérence de la charte.
 
En revanche une solution tout HTML permet de zapper l'analyse du code... C'est plus performant.


Message édité par Cherrytree le 03-10-2003 à 20:16:56

---------------
Le site de ma maman
n°530788
omega2
Posté le 03-10-2003 à 22:11:29  profilanswer
 

Cherrytree > je parle template contre code html perdus un peu partout dans le code php. ;)

n°531017
Cherrytree
cn=?
Posté le 04-10-2003 à 09:43:19  profilanswer
 

OK. Tu étais un niveau d'abstraction plus haut. :)


---------------
Le site de ma maman

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Generer le code html avec une classe

 

Sujets relatifs
recherche bouqin sur Php et MySql[autorun] lancer une page html dans une fenêtre aux dimensions voulues
Easy PHP fonctionne t-il bien sous Windows XP Pro ?[HTML] Texte pas centré sur ma frame /-(
[HTML/JS] Gestion des cadres Rechercher / Favoris / Historique de IE..Dimensionner fenetre web en javascript ou HTML ?
[HTML/JS]qu'est ce qui ne va pas avec mon programme?Code de correction d'erreur
[HELP] Utiliser donner excel sur page html[c++] sauvegarder code source IE dans un fichier...
Plus de sujets relatifs à : [PHP] Generer le code html avec une classe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR