
Envoyé par
jfadev
Franchement, Symfony2 est le melleir framework PHP sans aucun doute.
L'écriture est parfaitement en cohérence avec les tests que j'ai fait sur Symfony (deux sites pros montés de bout en bout, je sais donc de quoi je parle).
J'ai fait sur mon propre framework en deux heures ce qui m'avait pris une journée avec Symfony.
C'est vraiment essayer d'utiliser un bulldozer pour écraser une mouche, mais à
tous les points de vue.
Le premier point le plus inacceptable est le mode déboguage.
Mon PC sous Windows a un indice de performance de 7.8. Windows 64 bits, 32 Go de RAM et disques SSD etc.
Lorsque je lance Php en mode débug pour essayer de faire du pas à pas sous PhpStorm, il mettait entre 12 et 28 s (chrono en mains) pour afficher une page.
Lorsque j'ai réussi à utiliser Symfony sur mon PC avec xdebug, j'ai la mâchoire qui est tombée par terre. La pile d'appel était de 17. Soit
DIX SEPT appels de fonctions imbriquées les unes dans les autres.
Donc quelque part c'était normal qu'il mette entre 12 et 28 s (chrono en mains) pour afficher une page...
En tous les cas,
DIX SEPT appels de fonctions imbriquées les unes dans les autres est absolument incompréhensible, ingérable et in-déboguable.
C'est pour ça que j'ai écrit un
long article qui crache dessus Symfony, et
les seuls adeptes de Symfony ne peuvent qu'être des gens qui n'ont pas connu d'autres bons frameworks, et qui, au même titre que les Mac addicts, n'admettrons jamais les défauts grossiers et inacceptables de leur joujou.
Sans parler des monstruosités où tu as des erreurs de l'espace qui t'empêchent totalement de savoir où est réellement ton erreur. Long article
ici qui a sauvé des heures de boulot à plusieurs personnes... ou encore celle-ci...
Bref, j'ai fait pas mal d'articles
par là sur Symfony qui montrent que j'ai bien appris le framework et que je sais de quoi je parle. Symfony est tellement complexe qu’il faut absolument avoir un débogueur intégré tel que xdebug et pouvoir faire du pas à pas dans un environnement tel que PhpStorm qui donne la possibilité de suivre tout, avec la pile d’appel. Rendez vous compte : pour développer un site Web simple, des frameworks comme symfony sont tellement complexes qu’il faut obligatoirement pouvoir faire du pas à pas. Ce sont des experts Symfony qui me l’ont expliqué. Sur le coup j’ai sincèrement (honnêtement, ce n’est pas ironique, c’est véridique) cru que c’était une blague. Php est tellement simple et fluide quand il est bien développé que je n’ai jamais eu à utiliser de débogueur pas à pas en plus de dix ans !
Pire : lorsque j'ai essayé d'utiliser FOSUserBundle et de le configurer, cela m'a pris une journée pour le faire tourner, car j'avais besoin de deux profils : un profil "prof" et un profil "étudiant". Cela m'aurait pris moins d'une heure à implémenter la chose dans mon "petit" framework de base. A tel point que j'ai posé la question
ici sur stackoverflow : quel est l'intérêt de cet bouse immonde qu'est le FOSUserBundle ! Ah et après une journée de bataille, j'apprends qu'il ne gère pas la possibilité de faire deux formulaires d'enregistrements différents avec la possibilité de dérouter le hook d'enregistrement. Il faut installer un autre bundle en plus, le PUGXMultiUserBundle...

Tenez vous bien, la réponse est on ne peut plus parlante : "la plupart du temps, tous les bundles sont trop étroitement liés à l'écosystème où ils ont été crées et c'est un problème qui rend le code illisible, et inexploitable".
Bref. J'ai fait mon propre système MVC fait maison et réécrit 4 fois, dont la 4ème = full rewrite pour mon mémoire d'ingénieur, qui est très rapide, très performant, MVC et permet d'utiliser Apache en mode Lamborghini (combien de vous savent qu'il a un moteur de base de données, Apache ?).
Malgré tout cela et un framework ultra optimisé, je vais aujourd'hui en Django / Python entre 2 et 10 fois plus vite qu'avec le reste. Le seul frein à ma rapidité c'est le Web, qui est un "work-in-progress" depuis plus de 20 ans sans jamais rien de stable et qui me fait perdre un temps fou (compatibilité et responsive êtes-vous là ?).
2 |
0 |