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

  FORUM HardWare.fr
  Programmation
  PHP

  PHP + Xajax + Html : code crado, solution : Moteur de template ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP + Xajax + Html : code crado, solution : Moteur de template ?

n°1590815
Kyfun
Les choses se passent !
Posté le 24-07-2007 à 14:19:16  profilanswer
 

Bonjour,
 
Alors je vous pose le décors assez rapidement. Je developpe avec un amis un site web assez lourd en terme de code. Pour cela nous utilisons plusieurs librairies et notamment Xajax. Cette librairie impose que le Javascrit qu'elle produit soit écrit avant le moindre bout d'html.
 
Tout ca pour dire que ça deviens le merdier dans tous les script. Voila comment on procede pour l'instant:
 
Le design du site est séparé en 2 parties : le header et le footer. La séparation est faite la ou le contenu du script est affiché.
 
Donc pour chaque script : on écrit tout le xajax en PHP, ensuite on include le header, puis on met le code html + php pour l'affichage et enfin on include le footer.
 
Cela fait un beau bordel bien moche. J'ai donc regardé du coté des templates, PHPLib a l'air sympa, mais je me demande si vous auriez une idée pour faire la chose suivante:
 
Une page php avec le design à l'interieur, et la ou le contenu doit être affiché, un switch, qui recupere une variable get et include la page suivant cette variable (c'est ce que je faisait avec mes précédents sites). Or la je ne peux pas a cause du xajax car il doit être 'printer' avant le header html .
 
Si vous avez une idée de comment clarifier mon code ça serai sympa


Message édité par Kyfun le 29-07-2007 à 12:15:43

---------------
Comme dirait quelqu'un de beaucoup plus avisé que moi, quelquefois c'est toi qui cognes le bar mais d'autres fois, et ben, c'est le bar qui te cogne.
mood
Publicité
Posté le 24-07-2007 à 14:19:16  profilanswer
 

n°1592686
vanadium
N° Atomique : 23
Posté le 28-07-2007 à 10:19:40  profilanswer
 

Utilise un moteur de templates, comme PHPLib, Smarty ou encore PHPSavant. ça permet de bien séparer la logique de l'application de son affichage.


---------------
OctoPerf - MrTortue
n°1592792
theredled
● REC
Posté le 28-07-2007 à 21:02:35  profilanswer
 

T'as pas des exemples pour que ce soit plus clair ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1592893
Kyfun
Les choses se passent !
Posté le 29-07-2007 à 12:09:53  profilanswer
 

Bon du coup j'utilise le moteur de template de PHPLib :), ce me permet de rendre la chose beaucoup plus "lisible"

 
Code :
  1. <?php
  2. /*======================== template =========================*/
  3. require_once('./lib/template.php');
  4. //creation du template
  5. $template = new Template('./template/');
  6. //alias du template a utiliser
  7. $template->set_filenames(array('lostPwd' => 'lostPassword.tpl'));
  8. /*======================== fin template =====================*/
  9. /*======================== code =============================*/
  10. //includes
  11. require_once('./classes/user.inc.php');
  12. require_once('./xajax/xajax.inc.php');
  13. require_once('./decide_lang.php');
  14. require_once('./communs/func.inc.php');
  15. function lostPwd($mail)
  16. {
  17.     $objResponse = new xajaxResponse();
  18.     ...
  19.     return $objResponse->getXML();
  20. }
  21. //Eventuellement le passage de variables/bloc au templates
  22. //Ici il n'y en a pas
  23. //new xajax object
  24. $objAjax = new xajax();
  25. //register function
  26. $objAjax->registerFunction('lostPwd');
  27. //request
  28. $objAjax->processRequests('./xajax/');
  29. $objAjax->printJavascript('./xajax/');
  30. /*======================== fin code =========================*/
  31. /*======================== affichage ========================*/
  32. require_once('./template/welcome_header.php');
  33. //contenu
  34. $template->pparse('lostPwd');
  35. //footer
  36. require_once('./template/welcome_footer.php');
  37. /*======================== fin affichage ====================*/
  38. ?>
 

Et pour passer des variables rien de plus simple.
J'ai trouvé 2 très bon tutos sur developpez:

 

http://g-rossolini.developpez.com/ [...] templates/

 

et

 

http://php.developpez.com/faq/?pag [...] er-gabarit

 

Voila si ça peut en interesser d'autres :)


Message édité par Kyfun le 29-07-2007 à 12:10:06

---------------
Comme dirait quelqu'un de beaucoup plus avisé que moi, quelquefois c'est toi qui cognes le bar mais d'autres fois, et ben, c'est le bar qui te cogne.
n°1592908
martinmass​e421
Posté le 29-07-2007 à 12:57:14  profilanswer
 

Bonjour,  
En ce qui me concerne, j'utilise au boulot Smarty et cela va bien. Tu as un bon découpage du code métier PHP et du rendu HTML
 
lien: http://smarty.php.net

n°1592920
Kyfun
Les choses se passent !
Posté le 29-07-2007 à 13:28:02  profilanswer
 

J'ai regardé aussi Smarty qui est elle aussi très utilisée. Pour le besoin que j'ai, la template PHPLib me suffit largement et est assez accessible.
 
En 5 min on utilise le moteur de PHPLib. Pour Smarty il me semble qu'il faut quand même un peu plus étudier la syntaxe etc.


---------------
Comme dirait quelqu'un de beaucoup plus avisé que moi, quelquefois c'est toi qui cognes le bar mais d'autres fois, et ben, c'est le bar qui te cogne.
n°1592924
TheRom_S
Posté le 29-07-2007 à 13:34:42  profilanswer
 

autre solution, tu fais ton propre moteur de templates avec la syntaxe que tu veux, ça prend 1 heure, c'est moins lourd et tout aussi puissant que les autres [:spamafote]


---------------
The Rom's, à votre service
n°1592930
Kyfun
Les choses se passent !
Posté le 29-07-2007 à 13:39:49  profilanswer
 

TheRom_S a écrit :

autre solution, tu fais ton propre moteur de templates avec la syntaxe que tu veux, ça prend 1 heure, c'est moins lourd et tout aussi puissant que les autres [:spamafote]


 
Je suis partisant d'utiliser ce qui existe déjà, qui a déjà été épprouvé et reflechie. Quand tu vois que pour le moteur de template de PHPLib c'est un seul fichier php à inclure... C'est pas ce qu'on peux appeler une usine a gaz, la syntaxe est très simple et ça marche très bien je trouve.
 
Donc tant qu'a faire je préfère utiliser cette heure que j'aurai prise à faire mon moteur de template pour par exemple la sécu du site ou autre ^^
 
C'est mon avis :)
 
Par contre si tu as developpé le tiens, je voudrais bien voir à quoi ca ressemble. Tu peux le posté ici ? Ou par MP :)


---------------
Comme dirait quelqu'un de beaucoup plus avisé que moi, quelquefois c'est toi qui cognes le bar mais d'autres fois, et ben, c'est le bar qui te cogne.

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

  PHP + Xajax + Html : code crado, solution : Moteur de template ?

 

Sujets relatifs
[PHP] envoyer des images...Excel et PHP
Executer une partie de code ou une autreSite d'enchère sur programmation PHP
PHP/Lien css[PHP] tracking avec une image (xiti like)
Mise en forme de texte dans un formulaire HTML[html] forcer à 100% la hauteur d'une image sous FF
Système de template avec XML/XSLTManipulations IE6 par le code C++
Plus de sujets relatifs à : PHP + Xajax + Html : code crado, solution : Moteur de template ?


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR