echo '<html>' ou <html>

echo '<html>' ou <html> - PHP - Programmation

Marsh Posté le 23-02-2005 à 18:22:17    

Bonjour à tous !  
Je me demande d'un coup si il vaut mieux faire :
 

Code :
  1. $ecrire = '<h1>'.$titre.'</h1>';
  2. echo $ecrire;


 
OU
 

Code :
  1. <html>
  2. ...
  3. <h1><?php echo $titre; ?></h1>
  4. ...
  5. </html>


 
Je sais, c'est sûrement très con comme question mais je suis quand même intrigué  :??:

Reply

Marsh Posté le 23-02-2005 à 18:22:17   

Reply

Marsh Posté le 23-02-2005 à 18:54:34    

Perso j'utilise aucune des 2, mais je serais tenté de faire :
 
<?php
blablabla
?>
mon html
<?php
echo $titre;
?>
html  
...
 
N.B: Il existe d'autres maniere de faire un echo sur plusieurs lignes grace a EOF, ou a la syntaxe abbregée du echo


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 23-02-2005 à 18:57:04    

Personellement, je trouves la premiére méthode plus facile à lire.
Dans une page un peu évolué, on a vite fait de ne pas voir un petit bout de php perdu dans la page.
En pluis, le jour ou tu voudras utiliser les sessions ou les cookies ou utiliser le fonction header, ca te sera plus simple de modifier la page.

Reply

Marsh Posté le 23-02-2005 à 18:58:35    

EOF = end of file
Utiliser ça avant en dehos de la recherche de la fin d'un fichier, c'est un coup à avoir des bugs inatendus.

Reply

Marsh Posté le 23-02-2005 à 19:01:27    

Oké merci pour vos réponses, j'utilise aussi la première option également pour une question de clarté.  

Reply

Marsh Posté le 23-02-2005 à 19:53:15    

Moi je suis un partisant des templates...
 
template.tpl

Code :
  1. <html>
  2. ...
  3. <h1>{titre}</h1>
  4. ...
  5. </html>


 
page.php

Code :
  1. require_once(_templatepower_);
  2. $tpl = new template('template.tpl');
  3. $tpl->prepare();
  4. $tpl->assign('titre', $titre);
  5. $tpl->printToScreen();


 
Voila, de cette facon on separe le code html pur, du code php.

Reply

Marsh Posté le 23-02-2005 à 19:59:10    

Moi aussi j'utilise un template, mais c'était pas le sujet de la discution. ;)

Reply

Marsh Posté le 23-02-2005 à 20:17:00    

Parseur XML pour moi :p


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 23-02-2005 à 21:16:17    

Ouai le template je vais bientôt m'y mettre.
Et le parseur xml esox tu vas peut-être pouvoir m'aider :
comment je peux faire pour traiter deux xml avec un xslt ou inclure des xslt dans des autres. :??:

Reply

Marsh Posté le 24-02-2005 à 00:27:13    

Je comprends pas trop ta question :??: . Qu'est-ce qui te pose probleme?? Les flux XML/XSLT dans php ou juste les ficher xml + xsl ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 24-02-2005 à 00:27:13   

Reply

Marsh Posté le 24-02-2005 à 00:38:56    

Il vaut mieux mettre le html d'un coté et le php de l'autre... l'affichage de balises html par echo est nettement moins rapide meme si ca se sent pas des masses sur des petits sites.

Reply

Marsh Posté le 24-02-2005 à 10:11:45    

omega2 a écrit :

EOF = end of file
Utiliser ça avant en dehos de la recherche de la fin d'un fichier, c'est un coup à avoir des bugs inatendus.


non, dans ce cas là EOF est juste un identifiant pour la syntaxe heredoc. Une syntaxe très pratique, héritée de perl, cela permet de délimiter les chaînes sans se prendre la tête avec des \
 
http://www.nexen.net/docs/php/anno [...] eredoc.php

Reply

Marsh Posté le 24-02-2005 à 10:31:05    

esox_ch a écrit :

Parseur XML pour moi :p


 
+50
 

<h1></h1>


 

Code :
  1. $h1 = $doc->get_elements_by_tagname('h1')[0];
  2. $h1->set_content($titre)

Reply

Marsh Posté le 24-02-2005 à 18:02:38    

J'ai pas encore essayé les templates pour ma part, je suis passez au framework java d'apache STRUT, désolé...
  Beaucoup de personnes de ma boite pense que les template c'est "rajouter une couche la ou y'en a pas besoin", j'ai pas testé alors je n'ai pas polémiqué non plus...
 
Pour ma par la deuxième syntaxe et bien plus lisible, et bien plus pratique également, là c'est simple, mais pour un <input/> par exemple

Code :
  1. <input type="text" name="toto" value="<?php echo $toto ?>" />
  2. ou 
  3. <?php echo "<input type=\"text\" name=\"toto\" value=\"$toto\" />";?>


 
Ca a aussi l'avantage de ne pas avoir a écrire de \n, toujour bien
pratique d'avoir un source HTML lisible...
 

omega2 a écrit :

Personellement, je trouves la premiére méthode plus facile à lire.
Dans une page un peu évolué, on a vite fait de ne pas voir un petit bout de php perdu dans la page.
En pluis, le jour ou tu voudras utiliser les sessions ou les cookies ou utiliser le fonction header, ca te sera plus simple de modifier la page.


 
En revanche il faut avoir un éditeur qui met en valeur le contenu entre <?php et ?>. Et c'est bien dommage que php ne possède pas une balise comme la jsp qui évite d'écrire le echo ( <%= %> pour les javateux ).
Pour ce qui est des sessions et cookie je vois pas le rapport


Message édité par rompi le 24-02-2005 à 18:03:16
Reply

Marsh Posté le 24-02-2005 à 18:53:56    

rompi a écrit :

J'ai pas encore essayé les templates pour ma part, je suis passez au framework java d'apache STRUT, désolé...
  Beaucoup de personnes de ma boite pense que les template c'est "rajouter une couche la ou y'en a pas besoin", j'ai pas testé alors je n'ai pas polémiqué non plus...
 
Pour ma par la deuxième syntaxe et bien plus lisible, et bien plus pratique également, là c'est simple, mais pour un <input/> par exemple

Code :
  1. <input type="text" name="toto" value="<?php echo $toto ?>" />
  2. ou 
  3. <?php echo "<input type=\"text\" name=\"toto\" value=\"$toto\" />";?>


 
Ca a aussi l'avantage de ne pas avoir a écrire de \n, toujour bien
pratique d'avoir un source HTML lisible...
 
 
 
En revanche il faut avoir un éditeur qui met en valeur le contenu entre <?php et ?>. Et c'est bien dommage que php ne possède pas une balise comme la jsp qui évite d'écrire le echo ( <%= %> pour les javateux ).
Pour ce qui est des sessions et cookie je vois pas le rapport


 
Faux et ultra faut, ca existe


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 24-02-2005 à 19:05:01    

et c'est quoi cette balise magique ?

Reply

Marsh Posté le 24-02-2005 à 19:07:55    

bha

Code :
  1. <p><?=$paragraphe;?></p>


:o


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 24-02-2005 à 19:14:09    

Autant pour moi, j'avais jamais vu,
merci pour l'info


Message édité par rompi le 24-02-2005 à 19:14:38
Reply

Marsh Posté le 24-02-2005 à 19:49:27    

Avec les templates on rajoute peut-etre une couche, mais cela permet de separer le code php et html. Et cela au moment de lire le code c'est apreciable.
 
 
Sinon concernant le systeme de templates que j'ai presente et le parseur XML, je prefere les templates. En effet, je peux tres facilement, par exemple, metre la meme valeur a plusieurs endroits sans devoir changer le code php.
Par exemple, je peux modifier ma precedente template de cette facon :
template.tpl

Code :
  1. <html>
  2. <head>
  3. ...
  4. <title>{titre}</title>
  5. ...
  6. </head>
  7. ...
  8. <h1>{titre}</h1>
  9. ...
  10. </html>


 
Mon code php restera exactement le meme:
 
page.php

Code :
  1. require_once(_templatepower_);
  2. $tpl = new template('template.tpl');
  3. $tpl->prepare();
  4. $tpl->assign('titre', $titre);
  5. $tpl->printToScreen();


 
Alors qu'avec le parseur XML, il faudra modifier le code php pour "refleter" les changements de la template.
 
Je ne dis pas que les templates soient la solution ultime, cependant j'estime qu'elles sont la meileure solution actuelle (en tout cas pour moi).
Par exemple, mes templates ont un "probleme". Je ne peux pas "ajouter" une valeur qui n'est pas prevue par php. Donc je ne pourrais pas ajouter par exemple "titre2" si je ne l'ai pas prevu a l'avance dans le code php.  
Il me semble que Smarty permet ce genre de choses, mais je le trouve "trop gros" pour l'usage que je fais de mes templates. Donc pour l'instant je fait avec cet inconvenient.


Message édité par cerel le 24-02-2005 à 19:50:30
Reply

Marsh Posté le 24-02-2005 à 20:46:14    

Oui je suis assez d'accord, cependant je préfère quand meme utiliser un parseur XML parcequ'avec les templates a un moment tu es limité.
 
Disons que tu veuilles faire un forum, tu vas prevoir une plage de données pour afficher les messages avec ton template, ok, mais apres les message eux meme tu vas les afficher comment? Il te faudra un 2ème template qui met en place les differentes parties du message (nom du posteur, date, message,...), qui sera ensuite redirigé vers le 2ème parseur de templates qui va l'integrer dans la place qui lui revient. Non seulement ce processus n'est pas prevu par default (si je me trompe pas, la seule methode de recuperer qqch de parsé par le systeme de templates est la commande show() qui renvoie directement a l'ecran, sans return), bien entendu on peut modifier ca pour que ca retourne qqch (c'est ce que j'avais fait pour la version precedante de mon forum) mais je trouve que c'est pas top. On ouvre 2 fichers, avec je sais pas combien d'expressions regulieres pour chaqu'un (j'ai pas lu la source de PEAR concernant les templates) au lieu d'avoir un petit systeme de XML qui recupere les données dans une bdd et les envoie directement se faire mettre en page par un parseur xslt.
 
Honnettement je trouve ça beaucoup plus elegant, et plus pratique ... mais c'est une opinion personnelle


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 24-02-2005 à 23:12:54    

Personellement, je n'ai pas utiliser les extension de PEAR pour faire les template.
J'ai juste créé mes propres fonctions qui découpent le modéle en niveau logique et avec plusieurs textes possible pour un seul niveau afin de diférencier des données de significations différentes.
Par exemple, j'ai une colone menu qui peut être affiché d'une maniére, et les messages du forum d'une autre.
Et pour pas avoir à taper 10 fois le même code (x)html dans le modéle, je gére un systéme de texte par défaut. (défini au niveau du modéle) Ca évite aussi de devoir modifier tous les modéles si on rajoute une possibilité d'affichage au niveau du code php.
Enfin bon, chacun ses besoins. ;)
 
rompi > Le jour ou les gas de ta boite devront modifier 200 fichiers de codes par ce que le client veut changer la tête de son site, ils comprendront que c'est pas si inutile que ça comme "couche suplémentaire". ;)

Reply

Marsh Posté le 25-02-2005 à 01:07:28    

esox_ch : Pour information je n'utilise pas Smarty, ni un systeme de templates en Pear.
 
Le systeme que j'utilise s'appelle TemplatePower. Ce dernier peut "retourner" le contenu parse de la template.
Par exemple, dans un site que j'ai faits, j'ai une template pour le fichier principal du site, celui qui defini la structure.
index.tpl:

Code :
  1. <html>
  2. <head>
  3. // metas  
  4. <title>{pageTitre}</title>
  5. // ...
  6. </head>
  7. <body>
  8. <div id="contenu">
  9. {contenu}
  10. </div>
  11. <div id="menu">
  12. {menu}
  13. </div>
  14. </body>
  15. </html>


 
Ensuite dans mon index.php je ne fais "qu'associer" les variables avec la var correspondante de la template.  
Or pour le "contenu" je passe par des templates selon le "module" qui doit etre affiche ou non.
Je n'affiche du texte qu'a la fin d'index.php. Avant je ne fais aucun echo, ni print, ni rien du tout. Tout ceci grace au fait que TemplatePower me permet de manipuler le contenu des templates une fois parse comme une simple variable.
 
Je tiens egalement a dire que PowerTemplate accepte soit un nom de fichier comme template, mais accepte egalement une "variable" qui contient la template. Par consequent tu pourrais par exemple lire ta template depuis un BDD puis la passer a TemplatePower sans problemes.
 
 
Personellement je l'adore ce petit TemplatePower (qui est presque inconnu c'est bien dommage) et pour MON utilisation il me convient tres bien.  
 
Neanmoins je concois tres bien que tu preferes ton parseur XML. Les gouts et les couleurs, ca se discute pas :D
 
 
Enfin pour revenir un peu au sujet du topic, je pense que le conseil d'utiliser les templates (ou un parseur XML) a un debutant est une bonne chose. Cela lui permeteras d'avoir un code beacoup plus clair qu'en "liant" le php et l'html. Et c'est justement parceque c'est un debutant qu'il faut des le depart lui conseiller ce genre de systemes (qui peuvent sembler "lourds" ). Etant donne qu'il debute il n'as pas encore de mauvaises habitudes. Une fois qu'il commencera a matriser le langage, il sera tres dur de lui faire perdre "les mauvaises habitudes".
 
Je sais de quoi je parle, je suis passe par la. Quand j'essaye de debuger du code que j'ai pondu il y a 2 ans, c'est dur de separer le code php de l'html ...

Reply

Marsh Posté le 25-02-2005 à 07:52:08    

Ah d'accord, ton templatepower a l'air bien fait :D
Un jour ou l'autre faudra que je fasse un bentch pour voir laquelle des 2 methodes stress moins le serveur ... :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 25-02-2005 à 12:10:41    

KangOl a écrit :

bha

Code :
  1. <p><?=$paragraphe;?></p>


:o


 
Ceci dit l'utilisation de ces balises dites courtes sont vraiment déconseillées.

Reply

Marsh Posté le 25-02-2005 à 12:11:51    

J'crois que je vais m'orienter vers des solutions style XSL pour ces histoires de templates...

Reply

Marsh Posté le 25-02-2005 à 12:27:15    

[:flag]

Reply

Marsh Posté le 25-02-2005 à 12:39:52    

et moi je crois que je vais tester le passage à templatepower sur mon machin en cours, pour voir ce que ça donne...[:dawa]
 
[edit]
 
en fait non, c'est gpl, et j'ai pas envie de m'y mettre à fond avant de savoir ce qui va advenir de mon code...[:joce]


Message édité par skeye le 25-02-2005 à 14:47:25

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 26-02-2005 à 13:18:18    

omega2 a écrit :


rompi > Le jour ou les gas de ta boite devront modifier 200 fichiers de codes par ce que le client veut changer la tête de son site, ils comprendront que c'est pas si inutile que ça comme "couche suplémentaire". ;)


 Le jour où on m'écoutera vraiment dans ma boite, les poules auront des dents...
 
 J'aime beaucoup XSL, et les derniers "trucs" que j'ai fait, sont basé sur le parse de structure XML...
 Depuis j'ai fait de la jsp pour faire l'intarface d'une appli java et j'ai découvert strut d'apache... Et avec un Framework de ce genre on sépare énormément de chose, c'est assez lourd effectivement a écrire, mais à maintenir c'est bien mieux...
 
Pour en revenir à Php, quand j'écris du code avec des echo '<html>' ou <html> j'ai un peu l'impression d'écrire de "l'assembleur pour page web".
Alors sans doute que quand je retournerai a Php je vais passez au template, mais je pensais surtout passez à un framework. Google m'a dit que ca existais... Quelqu'un d'entre vous a déjà essayé?

Reply

Marsh Posté le 27-02-2005 à 16:21:37    

Tu veux un framework pour PHP ?

Reply

Marsh Posté le 27-02-2005 à 17:43:33    

Ah au fait je viens d'y penser.
Un autre avantage des templates compares au parseur XML, c'est que les templates peuvent etre utilisees pour d'autres choses.
Par exemple j'ai cree une template qui contient le corps du mail qu'envoie mon programme (email texte et pas html).
 
Je suis actuellement en train d'implementer des "short urls" ou "pretty urls" sur un site, et j'ai l'intention d'utiliser un fichier .htaccess. Mais la ou cela devient marrant c'est que ce fichier sera defini dans une template.
Vous vous demandez surement pourquoi, en fait c'est parceque dans la partie admin, il est possible de rajouter des pages "a la volee". Donc du coup, j'ai besoin d'un fichier .htaccess qui puisse etre modife. J'aurais pu le faire via un fopen et fwrite. Mais le fait d'utiliser une template me permet d'avoir une partie du fichier que je peux modifier sans devoir modifier le code php.
Apres il suffira que je recupere simplement le "contenu" de la template (une fois parse) et d'ecrire le fichier .htaccess. :D
 
 
Sinon pour en revenir a la question, je ne connais pas de "framework" pour php. Mais le systeme que j'utilise est assez facile a metre en place et ne necessite pas de framework.
 
Qu'est-ce que tu attends d'un framework precisement ?

Reply

Marsh Posté le 27-02-2005 à 17:47:19    

cerel a écrit :

Ah au fait je viens d'y penser.
Un autre avantage des templates compares au parseur XML, c'est que les templates peuvent etre utilisees pour d'autres choses.
Par exemple j'ai cree une template qui contient le corps du mail qu'envoie mon programme (email texte et pas html).


C'est l'inverse :o L'XML fonctionne partout sur tous les logiciels du monde :o

Reply

Marsh Posté le 27-02-2005 à 19:18:42    

Mais le resultat est encore un document XML ou pas ?
Car dans les exemples que j'ai cite le resultat n'a rien a voir avec du html.
 
Avec un parseur XML, peut-etre que l'on peut obtenir le meme resultat en passant par un feuille XSL non ?

Reply

Marsh Posté le 27-02-2005 à 19:19:44    

Avec l'XML on peut tout faire :D Donc on peut générer autre chose que de l'XML :)

Reply

Marsh Posté le 27-02-2005 à 20:10:29    

Alors ca va. :)
 
/me devrait se renseigner avant de racconter des betises :D

Reply

Marsh Posté le 28-02-2005 à 10:16:44    

FlorentG a écrit :

Tu veux un framework pour PHP ?


Oui
 

cerel a écrit :

Qu'est-ce que tu attends d'un framework precisement ?


 
Par définition un framework impose un "style" de programmation.
Donc ce que j'attend de lui c'est un petit peu comme le modèle de template mais sûrement en encore plus évolué...
Par exemple, avec strut d'apache, pour faire un  

Code :
  1. <input type="text" name="toto" value="<?php echo toto; ?>" />


(je ne sais pas pour un template)
tu écris

Code :
  1. <html:text property="toto" />


Il faut écrire un bean (une classe..) pour chaque formulaire (à peu près, on peu utilisé un bean pour plusieurs, ou même écrire ses objets en XML), et une servlet (Une classe pour le post du formulaire)...
on configure le tout dans un fichier xml à part...
 
C'est un peu plus complet que ca mais pour simplifier ca y ressemble...
C'est un truc de ce genre que j'attend...
 

FlorentG a écrit :

Avec l'XML on peut tout faire :D Donc on peut générer autre chose que de l'XML :)


 
Non avec XML on ne fait que retenir de l'information,
c'est les processeurs XSL qui permette, à partir d'un document XML, de générer: du XML, de l'HTML (4 de croix) ou du texte ( donc pas mal de chose )
Et les processeurs XSL-FO qui permette de générer des documents comme PDF par exemple...
 

Reply

Marsh Posté le 28-02-2005 à 10:31:01    

rompi a écrit :

Non avec XML on ne fait que retenir de l'information,
c'est les processeurs XSL qui permette, à partir d'un document XML, de générer: du XML, de l'HTML (4 de croix) ou du texte ( donc pas mal de chose )
Et les processeurs XSL-FO qui permette de générer des documents comme PDF par exemple...


C'est bien ce que je disais ;) J'ai juste oublié de préciser qu'il fallait passer par du XSL :)

Reply

Marsh Posté le 28-02-2005 à 10:35:15    

Oui c'était pour te taquiner! :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed