|
|||||||
| 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 |
|
|
#61 |
|
Membre du Club
![]() ![]() Inscription : mai 2005 Messages : 18 ![]() |
Bonjour à tous
Perso j'utilise un peu toutes les méthodes (sauf le mélange html php ingérable en maintenance), et je les choisi en fonction des contextes pour développer des composants par exemple une liste déroulante saisissable ou un spin-button: la méthode echo reste une solution légère et efficace, sauf que je mets tout dans un tableau et seulement à la fin je fais un echo du tableau. Des qu'il y a ds formulaire un peu complexe, j'opte pour des templates essentiellement pour faciliter la maintenance (avec une préférence pour smarty que je maitrise mieux). Les performances je m'en fous un peu, les sites que je fais n'auront jamais l'audience des google, ebay... La problématique de chacun est différente, et il n'y a pas de solution absolue. Par contre je pense qu' il faut se poser les bonnes questions du style: - WEB, intranet, extranet - Est-ce du jetable, du pérenne, une expérience - Dans quelle mesure l'application devra évoluer dans le temps - Quelle sont les contraintes clients et celles de l'environnement. - Qui devra assurer la maintenance de l'appli - Quelle sont les compétences internes, celles à maintenir, celles à développer - Quelle est l'audience cible - Etc, etc , ..... Il me semblerait plus judicieux d'établir une check list de ces questions, et d'orienter les choix compte tenu de ces réponses. Je travail dans deux contextes différents celui de l'entreprise, et dans un contexte perso pour des associations. Les techniques que j'utilise sont radicalement différentes. L'utilisation d'un SVN en équipe par exemple, oblige à mettre en place une méthodologie commune surtout quand on ne connais pas les autres intervenants du projet. Alors que pour un site associatif, je suis seul alors je peux me lâcher. Sur-ce je vous souhaite une bonne journée JJDai |
|
|
10
|
|
|
#62 |
|
Membre actif
![]() Matthieu VergneDoctorant (Requirements Engineering) Inscription : novembre 2011 Messages : 128 ![]() |
Je fais rien de pro dans le développement Web (que des projets persos ou pour des connaissances), mais la clarté du code reste une priorité, ne serait-ce que parce que je peux pas me souvenir de tout et donc ça doit être facile à comprendre, pour vite reprendre en main un code qu'on n'a pas vue depuis un moment.
Pour la génération du HTML, je fais du HTML+PHP seulement au niveau de l'index (pour intégrer les appels PHP haut niveau qui génèrent le contenu), pour le reste j'ai mes propres classes. Pour un modèle MVC, les classes V héritent toutes d'une interface commune avec une fonction de génération de code HTML (après il y a les composants génériques, puis les spécialisés, ... qui implémentent tout ça). Du côté M, ce sont des classes du type structures de données, notamment avec des setters/getters, qui peuvent s'enregistrer en BDD ou non. Pour le C, c'est au besoin. Même si je n'utilise pas du MVC partout, je reste généralement avec cette structure de classe haut niveau pour simplifier au max l'index. |
|
|
00
|
|
|
#63 |
|
Membre du Club
![]() Dév SIG-web Inscription : août 2010 Messages : 28 ![]() |
J'ai choisi PHP/Twig, parce qu'il partage avec Python/DTL et Erlang/ErlyDTL la même syntaxe et le même principe d'héritage.
Comme j'aime développer avec ces trois langages, je n'ai qu'une seule syntaxe a retenir, ce qui est pratique. Quand au système d'héritage de blocs sur ces moteurs, c'est autre chose que les vieux include de base de PHP. Le pire étant Prestashop avec smarty, les bouts de templates ne ressemblent à rien, tu as une balise body ouverte dans un fichier, fermée dans un autre. Tu as des fichiers qui ferment 5 balises d'on ne sait où. Les variables commencent par '$' parfois, parfois il faut les entourer de " … C'est n'importe quoi smarty. Je n'ai pas regardé les dernières versions, peut-être ont-ils corrigé ça. Edit: sur les tous petits projets je mix PHP/HTML avec la syntaxe alternative de PHP. C'est très lisible je trouve. |
|
|
00
|
|
|
#64 | |
![]() ![]() Olivier Développeur Web Inscription : août 2003 Messages : 2 499 ![]() |
Citation:
En plus de ce que j'ai expliqué sur ce post il y'a des chose dans les moteurs de template (twig pour ma part) qui sont réellement pratique : - Par défaut tout ce qui est affiché est échappé , donc faille xss limitée. (rien que ça, ça vaut la perte de perf pour moi) - On peut définir un template "global" dans lequel on défini des "block". Ensuite chaque template peut hériter de ce template et implémenter ou non les différents block. Bien plus pratique qu'un simple include php mais évidemment plus lent. - Comme tu le dis certains moteur de template implémente des helper html. Tu passe par exemple un tableau à une balise et il te génére la liste d'option html tout seul.
__________________
Pry Framework php5 | Recherche CDI dev. Web sur Dijon et alentours. |
|
|
00
|
|
|
#65 |
|
Membre confirmé
![]() Pierre BRUNDéveloppeur Web Inscription : mars 2011 Messages : 129 ![]() |
J'utilise le moteur de phpBB customisé en standalone. Pour ceux qui reprochent aux moteurs de template d'être trop lents, c'est la solution. Pour ceux qui reprochent aux moteurs de template de remplacer la syntaxe php par une autre aussi verbeuse, c'est la solution.
Avantages: -rapidité -cache (les fichiers de cache ne sont rien d'autre que du phtml généré avec les templates, d'où la rapidité) -syntaxe simple, propre et peu verbeuse @+ Piero |
|
00
|
|
|
#66 | ||
|
Membre confirmé
![]() Pierre BRUNDéveloppeur Web Inscription : mars 2011 Messages : 129 ![]() |
Citation:
Citation:
@+ Piero |
||
|
00
|
|
|
#67 |
|
Membre éclairé
![]() Inscription : mars 2002 Messages : 395 ![]() |
À mon avis, la méthode des "echo" se justifie lorsqu'on génère le code HTML depuis des objets PHP. Tant qu'on reste dans le code d'un template, le code PHP devrait être inclus dans le HTML :
Code :
<article class="<?php echo $cssClasses; ?>"></article> Je précise qu'en parlant de template, je parle de la manière WordPress par exemple : de la syntaxe PHP appelant des API PHP. Concernant les "moteurs de templates" en surcouche de PHP mon avis rejoint celui de CyberDenix moins les insultes.
__________________
Creapage.net/blog |
|
|
00
|
|
|
#68 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 913 ![]() |
Personnellement, j'ai rencontré et rencontre 2 problèmes avec l'utilisation d'echo. Pas de complétion, validation, coloration etc. du html/js dans les IDE, générant une perte de temps.
D'autre part, tu te tapes forcément l'intégration si tu tombes sur des graphistes ne connaissant rien au PHP, HTML ou autre. Ne pas oublier aussi que certains graphistes ne s'occupent même pas de la source générée par leur Dreamweaver out autre et malheureusement on ne choisit pas toujours ses partenaires. J'ai toujours très peu utilisé de moteur de templates pour les raisons citées : surcouche, syntaxe, etc. et ai toujours trouvé cela inutilement lourd mais l'argument de grunk au sujet de la répartition des accès me semble intéressant même si finalement ça n'a rien à voir avec la définition d'un système de templates de manière générale, non ? (idem pour le cache ?) Ce qui me dérange aussi dans ce type d'outils (mais surtout au niveau des CMS en fait) et que quand une faille est trouvée, une "campagne de hack" est lancée. Tu dois donc toujours absolument être au fait des MAJ, etc. Le côté open source n'arrangeant évidemment rien.
__________________
Vive les roues en pierre |
|
|
00
|
|
|
#69 | |
|
Membre éclairé
![]() Inscription : mars 2002 Messages : 395 ![]() |
Citation:
Le seul intérêt des surcouches que vous défendez est l'intégration avec un système de cache. Sauf qu'un cache peut tout aussi bien être mis en place via des API PHP. Tous les développeurs que je connais et qui se sont frotté à Smarty ont râlé, et j'en fais partie. Qui choisit Smarty sur un projet ? Surement pas les développeurs.
__________________
Creapage.net/blog |
|
|
|
10
|
|
|
#70 | |
|
Membre actif
![]() Matthieu VergneDoctorant (Requirements Engineering) Inscription : novembre 2011 Messages : 128 ![]() |
Citation:
Utiliser un programme perso, c'est profiter du côté secret mais au dépend de la robustesse (tout seul on pense à moins de choses, et on a moins le temps). Utiliser des programmes génériques c'est l'inverse, profiter de la robustesse au détriment de l'intérêt que les crackers peuvent lui porter. Le tout est de savoir ce qu'on veut. |
|
|
|
00
|
|
|
#71 |
|
Membre éclairé
![]() Inscription : mars 2002 Messages : 395 ![]() |
On se demande pourquoi les programmeurs de drivers bossent encore en assembleur et pas en langages évolués.
__________________
Creapage.net/blog |
|
|
10
|
|
|
#72 | |
![]() ![]() Olivier Développeur Web Inscription : août 2003 Messages : 2 499 ![]() |
Citation:
__________________
Pry Framework php5 | Recherche CDI dev. Web sur Dijon et alentours. |
|
|
00
|
|
|
#73 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2004 Messages : 16 ![]() |
Vrai !
Citation:
Cependant, pour illustrer et donner un ordre d'idée, il est généralement admis que le résultat d'un compilation en C d'un code PHP avec HipHop est généralement 3 fois plus rapide que ce même code PHP avec APC. On parle certes de millisecondes, mais dans le cas d'une application fortement AJAXée avec du resfresh temps réel constant (zéro cache) telle que Facebook, cette différence peut devenir significative). Un appel qui dure 200ms au lieu de 600ms reste visuellement perceptible. Citation:
Si il existe des serveurs web dédiés au langage C, tels que G-WAN (qui se vante d'être le plus rapide), ceux-ci souffrent de grosses lacunes (pas de rewrites...) et je ne vois sincèrement personne utiliser le langage C pour coder des pages web. La moindre copie de chaîne en C est un supplice, alors imaginons un peu la gestion de fonctionnalités de plus haut niveau, telles que les cookies, les sessions, les regexs, les tableaux associatifs, la lecture des fichiers XML, la connexion à une BD... etc. Tout ce travail de traduction en un environnement optimisé et intellectuellement plus abordable a déjà été fait par Rasmus & l'équipe Zend avec PHP. Et je leur en suis chaque jour très reconnaissant.
|
||
|
|
00
|
|
|
#74 | ||
|
Membre éclairé
![]() Inscription : mars 2002 Messages : 395 ![]() |
Citation:
Citation:
… mais la montée en charge spectaculaire de Facebook ces dernières années, et les solutions palliatives qui ont dû être trouvées au niveau performance, n'est pas un argument contre les performances de PHP. Bien au contraire. Le cas de Facebook est plutôt une preuve que PHP n'est pas une impasse même sur les projets anticipant une affluence gigantesque. Si PHP n'est pas une impasse, qu'en est-il des surcouches ? Personnellement je demande à voir des exemples de sites qui démontreraient la performance des moteurs de template comme surcouches de PHP. Si vous voulez mon avis ils ne sont performants que tant qu'on ne les exécute pas : sur des sites relativement statiques où le cache répond à 95% des requêtes.
__________________
Creapage.net/blog |
||
|
|
10
|
|
|
#75 |
|
Membre habitué
![]() jean Inscription : octobre 2011 Messages : 166 ![]() |
J'ai voté "echo".
Mais en réalité je passe tout dans une variable php et je "l'echote" à la fin. Moi c'est la version mi-HTML mi-PHP que je trouve indigeste et affreuse Mais je n'aime pas utiliser 406 echo en même temps non plus. |
|
|
10
|
|
|
#76 |
|
Membre émérite
![]() Inscription : décembre 2008 Messages : 189 ![]() |
Que du php avec plein de echos. Je fais tout ce qu'il ne faut pas faire. Mais ce n'est pas grave, car ce n'est pas sur des projets pros.
|
|
|
00
|
|
|
#77 |
|
Membre Expert
![]() ![]() |
Moi, j'utilise echo.
Je déteste le mélange PHP/HTML que je trouve ... moche en fait. Même l'absence de coloration syntaxique me gène moins visuellement que ce mélange de syntaxes. C'est d'ailleurs pour ça que ma page index.php ne fait généralement que déclarer les html, head, meta et body, le reste est fait dans des fichiers PHP séparés qui de ce fait ne contiennent que des echos. D'ailleurs je ne fais pas un echo mais autant que de lignes que j'écris.
__________________
Si vous ne trouvez plus rien, cherchez autre chose... Chef de projet (et unique exécutant pour l'instant) pour Castor 3D |
|
10
|
|
|
#78 | |
|
Membre éclairé
![]() Inscription : mars 2002 Messages : 395 ![]() |
Citation:
__________________
Creapage.net/blog |
|
|
|
10
|
|
|
#79 |
|
Futur Membre du Club
![]() ayoub rachidiInscription : mars 2010 Messages : 71 ![]() |
il y a des framework java qui sont sympa tel que JSF
|
|
|
00
|
|
|
#80 |
|
Membre actif
![]() Architecte logiciel Inscription : novembre 2010 Messages : 52 ![]() |
je vais rebondir sur ce que disais CyberDenix.
[perso] Bon, c'pas moi qui ai commencé avec les attaques perso, c'est toi avec ton "abruti et noob". je l'ai mal pris, j'avoue. et selon moi, être certifié PHP n'a aucun intérêt, à part peut-être pour un CV un peu light ![]() [/perso] 1) je maintiens que quelqu'un qui n'a jamais utilisé de templates, fut-ce que par curiosité intellectuelle, est un débutant, et ce quel que soit le langage, pourvu que ce soit du web. mais j'imagine que tu en a déjà utilisé, sinon tu n'en ferais pas une critique aussi virulente (et impolie !) 2) certains moteurs de templates, pas du tout codés en PHP mais utilisable par lui ne souffrent d'aucune critique sur leur perf 3) on ne décide pas toujours de l'environnement sur lequel on travaille. ceux qui bossent depuis un moment le savent, parfois on nous impose une techno qu'on aime pas, parce que les responsables y voient un avantage plus important que de légers gains de perf, que parfois notre vision du projet ne nous permet pas de déceler. ou alors ce sont des incompétents notoires et on finira par prendre leur place s'ils n'ont pas fait couler la boite avant 4) tu parles d'extensions PHP utilisées par Facebook ? moi je maintiens transformation en C++. HipHop, dont tu parles toi-même, c'est eux qui l'ont conçu pour se débarrasser de PHP jugé trop light en perf sur certaines ressources critiques (voir ceci, par exemple) ![]() 5) [troll]le PHP n'était d'ailleurs pas le bienvenu partout chez Facebook, puisque leur chat était pendant un temps fait avec du Python ^^ (peut-être l'est-il encore ?)[/troll] bref, je dis pas qu'il y a une solution miracle. pour un petit projet ou un projet perso, je vois pas l'intérêt des moteurs de template... pour un projet de groupe, ça peut être intéressant si on préfère la maintenabilité et/ou la séparation nette des tâches à la performance. mais encore une fois, même s'il est bon dans ce domaine, particulièrement avec certains compléments, PHP est limité. si on cherche la perf à tout prix... soit on a effectivement un site qui en a besoin, et dans ce cas une alternative à PHP serait une hypothèse, soit on s'est viandé dans l'optimisation de son code. encore une fois, dire qu'une techno ou une manière de faire vaut mieux qu'une autre est ABSURDE. il vaut toujours mieux dire que dans un contexte spécifique, une chose est plus pertinente qu'une autre. c'est toujours ce que répondront les personnes objectives qui ont vécu un minimum d'expériences différentes, au lieu de partir sur des débats stériles en défendant à tout prix un point de vue unique. je ne me considère pas comme expert, mais je sais qu'un point de vue ne peut se défendre que dans un contexte. [troll]par conséquent, le topic même est absurde, comme tous les topics à troll...[/troll]
__________________
"Je ne dis pas que c'est nul, je dis qu'il y a moyen de faire mieux" |
|
|
10
|
Copyright © 2000-2013 - www.developpez.com