echo '<html>' ou <html> - PHP - Programmation
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
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.
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.
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é.
Marsh Posté le 23-02-2005 à 19:53:15
Moi je suis un partisant des templates...
template.tpl
Code :
|
page.php
Code :
|
Voila, de cette facon on separe le code html pur, du code php.
Marsh Posté le 23-02-2005 à 19:59:10
Moi aussi j'utilise un template, mais c'était pas le sujet de la discution.
Marsh Posté le 23-02-2005 à 20:17:00
Parseur XML pour moi
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.
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 ?
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.
Marsh Posté le 24-02-2005 à 10:11:45
omega2 a écrit : EOF = end of file |
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
Marsh Posté le 24-02-2005 à 10:31:05
esox_ch a écrit : Parseur XML pour moi |
+50
<h1></h1> |
Code :
|
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 :
|
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. |
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
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é...
|
Faux et ultra faut, ca existe
Marsh Posté le 24-02-2005 à 19:07:55
bha
Code :
|
Marsh Posté le 24-02-2005 à 19:14:09
Autant pour moi, j'avais jamais vu,
merci pour l'info
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 :
|
Mon code php restera exactement le meme:
page.php
Code :
|
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.
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
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".
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 :
|
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
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 ...
Marsh Posté le 25-02-2005 à 07:52:08
Ah d'accord, ton templatepower a l'air bien fait
Un jour ou l'autre faudra que je fasse un bentch pour voir laquelle des 2 methodes stress moins le serveur ...
Marsh Posté le 25-02-2005 à 12:10:41
KangOl a écrit : bha
|
Ceci dit l'utilisation de ces balises dites courtes sont vraiment déconseillées.
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...
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...
[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...
Marsh Posté le 26-02-2005 à 13:18:18
omega2 a écrit : |
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é?
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.
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 ?
Marsh Posté le 27-02-2005 à 17:47:19
cerel a écrit : Ah au fait je viens d'y penser. |
C'est l'inverse L'XML fonctionne partout sur tous les logiciels du monde
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 ?
Marsh Posté le 27-02-2005 à 19:19:44
Avec l'XML on peut tout faire Donc on peut générer autre chose que de l'XML
Marsh Posté le 27-02-2005 à 20:10:29
Alors ca va.
/me devrait se renseigner avant de racconter des betises
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 :
|
(je ne sais pas pour un template)
tu écris
Code :
|
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 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...
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 bien ce que je disais J'ai juste oublié de préciser qu'il fallait passer par du XSL
Marsh Posté le 23-02-2005 à 18:22:17
Bonjour à tous !
Je me demande d'un coup si il vaut mieux faire :
OU
Je sais, c'est sûrement très con comme question mais je suis quand même intrigué