|
|||||||
| Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP |
|
|
Publicité ' | |||||||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 | ||||||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 3 893 ![]() |
Bonjour à tous,
Il est de notoriété publique que le principal usage de PHP soit la création dynamique de flux HTML. Mais bien qu'il existe diverses façons de produire et d'afficher ce flux de données, il n'y a pas vraiment de recommandations en la matière, chacun est libre de faire à sa convenance. Je vous propose donc un petit sondage: quelle méthode employez-vous pour produire votre HTML ? Traditionnellement, on peut tout simplement décrire son HTML et y insérer des balises spéciales là où on veut du dynamisme. Cette méthode était connue sous le nom de phtml et est d'ailleurs supportée nativement par Apache au même tittre qu'un script PHP classique: Code PHP :
Dans cet exemple, nous nous sommes servi de la syntaxe alternative ainsi que la directive short_open_tag que je trouve beaucoup plus claire et naturelle que l'imbrication d'accolades ouvrantes/fermantes. On peut également recourir à la structure echo: Code PHP :
Ou encore, on peut utiliser un moteur de template tel que Smarty ou phpBB pour ne citer que les plus connus: Code PHP :
Et vous ? Laquelle de ces techniques utilisez-vous et pourquoi ? Utilisez-vous un moteur template et lequel ? Avez-vous une tout autre technique pour produire votre flux ?
__________________
On vous a menti PHP, Injection de dépendances et composants La POO en PHP en 10 minutes pour moins Suivez-moi sur GitHub et TwitterN'oubliez pas de vous servir des bouttons , et
|
||||||
|
21
|
|
|
#2 |
![]() ![]() Olivier Développeur Web Inscription : août 2003 Messages : 2 499 ![]() |
Avec un moteur de template , en l'occurence Twig (sans symfony).
Ça le gros avantage d’empêcher les intégrateurs/graphiste de venir bidouiller du code qu'ils n'ont en principe pas à toucher (ils se retrouvent avec un "langage" inconnue et du coup ne tente pas de modifier). J'avais fait un passage sur smarty2 mais twig m'a ensuite très vite conquis par sa synthaxe et son code source. Après quand j'ai le choix j'essai de plutôt utiliser des fichiers html avec quelques <?php echo $mavar ?> pour le gain de performance comparé à tout un moteur de template.
__________________
Pry Framework php5 | Recherche CDI dev. Web sur Dijon et alentours. |
|
20
|
|
|
#3 |
![]() ![]() ![]() Sébastien GermezIngénieur réalisateur Inscription : mars 2011 Messages : 2 646 ![]() |
J'utilise le PHP et le HTML mélangé personnellement.
Et j'exècre particulièrement la méthode echo que je trouve immonde
__________________
Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez-moi ! Avant toute chose : lire le mode d'emploi du forum et ses règles. Je ne réponds pas aux questions techniques en MP.
|
|
|
40
|
|
|
#4 |
![]() ![]() |
PHP + HTML
Moteur de template (twig parfois) et un autre spécifique qui manipule les vues comme des classes.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#5 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 18 118 ![]() |
J'apprécie aussi la syntaxe alternative pour les structures de contrôle que je trouve aussi plus claire.
Sinon, même si la production de HTML dépend des cas traités et des types de projets, j'essaye au maximum d'utiliser la Syntaxe Heredoc.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Alain Inscription : septembre 2010 Messages : 1 917 ![]() |
Par défaut et de préférence, en mélangeant PHP+HTML.
Mais cela dépend du contexte, certaines fonctions ou classes peuvent renvoyer un bloc de code par un echo. Ce sont des critères comme la clarté du code, la facilité de mise en place, l'évolutivité et la maintenance qui impliquent le choix final. Sinon, je me suis intéressé un peu à la syntaxe Heredoc, mais je trouve qu'il y a trop de contraintes et de restrictions pour généraliser facilement son usage. Je la garde donc plutôt en réserve pour les cas où son emploi est manifestement plus pratique que la syntaxe classique. Les short open tags peuvent provoquer des confusions avec d'éventuelles balises xml et dépendent de la configuration du serveur donc j'évite de les utiliser. Avec php 5.4 "<?=" sera toujours disponible mais bon ce ne sera pas ma priorité. Quant à la syntaxe alternative, je comprend pas l'intérêt que certains y accordent. Certes on peut trouver cela plus clair (et encore ça se discute), mais pour moi ce qui ne se discute pas c'est que cela rend évidemment totalement inopérant l'équilibrage des accolades dans mon éditeur favori Nan là pour moi c'est vraiment trop rédhibitoire
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
20
|
|
|
#7 | |
|
Invité régulier
![]() Inscription : août 2009 Messages : 3 ![]() |
Citation:
J'ai voté moteur de template : XML/XSLT. Avantages :
Inconvénients :
|
|
|
|
20
|
|
|
#8 | |
|
Membre actif
![]() |
Citation:
La pire idée serait de mixer plusieurs des méthodes présentées par cet article... Soit toutes les vues sont dans des templates (twig/smarty...), soit toutes les vues sont dans des fichiers HTML/PHP (dans lequel tu n'injecte que des données, jamais de HTML, à la SF1 par ex),
__________________
Studio-Dev | Mon blog technique | CV Si tu ne sais pas : demande, si tu sais : partage ! (© PCI) |
|
|
20
|
|
|
#9 | |||
|
Membre Expert
![]() ![]() Inscription : janvier 2006 Messages : 1 626 ![]() |
Citation:
Et ya qu'en php ou on se permet de faire des choses comme ça (a ma connaissance). Code php :
moi j'ai vite choisi.
__________________
PHP fait nativement la validation d'adresse électronique Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois. Soyez moderne: mysqli_connect() or throw Exception(mysqli_connect_error()); PHP: un problème ? décrivez le avec ceci. Utilisez le bouton résolu! |
|||
|
|
30
|
|
|
#10 |
![]() ![]() ![]() Sébastien GermezIngénieur réalisateur Inscription : mars 2011 Messages : 2 646 ![]() |
Chacun son choix.
Comme je l'ai dit, c'est que je pense personnellement, j'ai pas dit que la méthode était immonde, mais que POUR MOI elle l'était
__________________
Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez-moi ! Avant toute chose : lire le mode d'emploi du forum et ses règles. Je ne réponds pas aux questions techniques en MP.
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() |
Ben moi je le produit avec des vues partielles et le moteur de template RAZOR pour C#
|
|
|
01
|
|
|
#12 | |
|
Nouveau Membre du Club
![]() Développeur Web Inscription : juin 2010 Messages : 15 ![]() |
Avec un moteur de templates en PHP pur:
http://www.massassi.com/php/articles/template_engines/ Citation:
|
|
|
|
20
|
|
|
#13 |
|
Expert Confirmé
![]() Baptiste ROUSSELDéveloppeur Temps réel Embarqué Inscription : janvier 2011 Messages : 1 295 ![]() |
J'ai jamais passé la marche vers les templates. Enfin si une fois vers Smarty mais j'ai eu plein de soucis de choses que j'arrivais pas à faire et j'ai pas eu le courage d'aller au delà de la documentation...
Donc du coup je code en MVC avec une vue mélangeant HTML et PHP.
__________________
|
|
|
41
|
|
|
#14 |
|
Invité régulier
![]() Développeur Web Inscription : avril 2012 Messages : 5 ![]() |
Pour ma part j'évite absolument le echo (je le faisais à une époque, mais c'est trop peu lisible à mon goût, surtout qu'on perd la coloration syntaxique et la validation html de l'IDE).
Donc mélange de php ou HTML pour les pages web assez simple, ou moteur de template (Twig dans mon cas, mais smarty a l'air très bien aussi) pour les projets plus consistants. |
|
|
30
|
|
|
#15 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2011 Messages : 22 ![]() |
Curieux d'avoir pris une techno morte et dépassée pour exemple de moteur de template
|
|
|
36
|
|
|
#16 |
Directeur des systèmes d'information Inscription : novembre 2008 Messages : 4 ![]() |
Pour ma part j'utilise des templates + moteur maison sous forme de class.
Le melange de PHP & HTML est une chose que tu fais quand tu es newbie dans le dev et de plus cela est imbuvable le melange et pour retrouver ces petits c'est pas facile. |
|
|
26
|
|
|
#17 |
|
Membre Expert
![]() Alexis LechevalierIngénieur développement logiciels Inscription : février 2005 Messages : 1 047 ![]() |
Si je suis ou serais seul sur le projet (cas d'un dev perso par ex.), j'utilise PHP+HTML en majorité même si j'ai déjà fait un ou deux trucs avec smarty car j'avais fait faire les graphismes et mise en page par quelqu'un d'autre.
Si je n'ai pas la garantie de maintenir moi-même ou qu'il s'agit d'un dev collaboratif, je préfère utiliser un moteur comme smarty.
__________________
Vu sur un paquet de cigarettes: "Fumer peut entrainer une mort lente et douloureuse" Vivre aussi... Ce n'est pas forcément moins douloureux et c'est même beaucoup plus lent... ![]() "Les fumeurs meurent prématurément" Puisqu'on dit que ce sont toujours les meilleurs qui s'en vont en premier...
|
|
|
10
|
|
|
#18 |
|
Membre à l'essai
![]() Développeur informatique Inscription : décembre 2005 Messages : 32 ![]() |
Personnellement j'utilise un système proche du framework zend. A savoir un fichier .php pour chaque vues de mes modules que je récupère avec un include dans la méthode de génération du code html. Je récupére le tout avec des ob_start() et je n'affiche le code final qu'après la génération complète de ma page. Le principal avantage, c'est qu'à n'importe quel moment n'importe quel module peut balancer un header, référencer de nouveaux fichiers CSS et javascript. Ca ressemble donc plus à la méthode du echo mais avec l'affichage complètement séparé du traitement des données.
|
|
|
00
|
|
|
#19 | ||
|
Membre régulier
![]() Inscription : juillet 2002 Messages : 160 ![]() |
Vu comme c'est présenté dans l'exemple c'est sûr que c'est pas joli, alors que comme ci-dessous je trouve ça correcte ca ne me gène pas :
Code :
|
||
|
|
10
|
|
|
#20 |
|
Membre chevronné
![]() Inscription : décembre 2010 Messages : 233 ![]() |
N'ayant fait que des petits projets (à titre personnel ou études) sur des plateformes très restreintes, le mélange PHP + HTML m'a paru le plus adapté à mes besoins.
Le code PHP et HTML restant tout de même le plus séparé possible pour garder des pages HTML le plus claires possible. |
|
|
20
|
Copyright © 2000-2013 - www.developpez.com