La ressemblance étrange entre Symfony 2.0 et Jelix...
Par Laurentj le lundi, décembre 3 2007, 17:26 - Projets - Lien permanent
Je viens de voir le fichier PDF de la présentation du futur Symfony 2.
Je trouve que l'architecture de SF2 ressemblera étrangement à celle de Jelix :
- les objets "requests"
- les objets "responses"
séparation des contrôleurs et des templates dans des répertoires respectifs(déjà dans SF 1.0)- le système évènementiel, même si il sera utilisé de façon plus poussé dans SF 2
- le découplement total entre urls et contrôleurs, et aussi la syntaxe utilisée pour le mapping des urls
<humour_trollesque> Manque plus qu'un système de modules pour avoir un clone de Jelix :-) (ouai j'exagère :-) ) Enfin bref, SF2 va presque offrir ce que vous offre Jelix depuis 2 ans. </humour_trollesque>
Si SF2 vous fait baver, essayez Jelix ;-)
Mise à jour: j'ai rajouté les tags humour parce que visiblement ça n'était pas évident pour tout le monde :-)
Commentaires
Une mauvaise langue pourrait également ajouter que cela ressemble beaucoup au Zend Framework. ;)
@JMF: tu veux dire que ZF a aussi copié sur Jelix ? roooh ... :-) (ZF est sorti après jelix je le rappelle ;-)
Flagrant en effet... Mais bon, il y a 23421234123 développeurs sur Symfony. Sur Jelix c'est malheureusement pas la même. Laurent duplique toi !
Encore un effort et on parviendra à la clarté des "Active Server Page 2" de microsoft ok -> :D
Encore un effort et la modestie de l'auteur de ce blog sera totalement annihilée - si tant est qu'il en reste un chouilla ;)
@Grumph : oh tu sais, mes chevilles tiennent le coup, j'ai encore de la marge de manoeuvre, je peux en rajouter plusieurs couches si tu veux :-D Surtout que bon, vu la faible popularité de Jelix face à Symfony, c'est une raison de plus pour se "lacher" :-)
Ce n'est pas pour faire du mauvais esprit, mais qu'entends-tu par "séparation des contrôleurs et des templates dans des répertoires respectifs" ? Tous les frameworks MVC que je connais séparent controller et view...
si on va par là, ça ressemble aussi pas mal à Django...
@Pada : ce que je voulais dire par là, c'est qu'il semblerait qu'il y ait une structure plus stricte dans l'organisation des fichiers. Mais en fait SF 1.0 a effectivement déjà cette organisation.
Ne pas prendre mon billet comme un truc sérieux. C'est juste une boutade hein ;-)
@django : on s'en fout, django, c'est du python...
Le découplage total des urls et des contrôleurs est dispo sous symfony depuis la version 0.4 (octobre 2005).
Pendant qu'on y est, les objets Request et Response sont aussi dans la version 1.0. Plutôt que de regarder ce que réserve la 2.0, tu ferais peut-être mieux de jeter un oeil à la 1.0...
Et donc pourquoi il faudrait choisir Jelix plutôt que SF 2 ? :P
@sylvain :
Pourquoi Pensio fait passer ça pour une nouveauté dans SF2 alors ? Je crois que tu n'as que trop peu survolé le PDF, je me trompe ?
ah oui, très juste, les objets sfResponse/sfWebResponse existent dans sf 1.0. Et donc ne vont pas à priori pas évoluer dans SF2, et ne seront donc jamais aussi spécialisé que dans Jelix. Ça me rassure finalement :-p
Ba, tu ferais peut-être bien de lire le PDF, parce que tu fais passer Pensio pour un menteur là. La façon d'architecturer le code du contrôleur dans SF 2, avec l'utilisation systématique d'un request, d'un response, &cie ressemble plus à ce qu'on fait dans Jelix que dans SF 1.0.
@Neovov
Parce que Jelix est déjà prêt, robuste, performant, déjà utilisé sur de nombreux sites, y compris de gros sites ? ;-)
erratum : "Fabien Potencier", pas "Pensio".
Tiens, pourquoi j'ai dit pensio moi ?
Bonjour,
Les développeurs de Symfony ne se sont jamais cachés de reprendre les bonnes idées des autres frameworks open source (comme django ou Prado je crois). C'est plutôt un très bonne pratique je trouve !
L'utilisation d'objets de type "Request" et "Response" est, il me semble, très répandue et présente depuis longtemps dans la plupart des frameworks php (ainsi que les autres.. java..)
Ce qui varie, outre le degré de spécialisation des ces objets, c'est la manière dont ils sont manipulés dans leur framework respectif, les ownerships, les dépendances etc.
C'est bien joué je trouve, parce que du coup cette news arrive en haut de la liste "They talked about us" de la dernière newsletter hebdo de symfony.
C'est de bonne guerre moi j'dit, même si ça prend la forme d'un petit troll ;)
@BenLeTibétain : lol, Symfony qui fait de la pub à Jelix :-)
Tout framework qui se respecte propose ces fonctionnalités. Si tu penses que c'est ce qui caractérise Jelix, j'ai bien peur que tu trompes fortement.
Wow! ah ben ca pour une coincidence!!!
Requetes, reponses, clients, routing,... bienvenu sur le web MVC > connu depuis des lustres
Events based programming aussi.
Tu peux etre serieux deux secondes et ne pas diminuer le travail effectue sur ton framework, symfony et.... PHP par de tels gamineries.
<joke>Waou quel article constructif :D</joke>
Bon sérieusement, as tu lu réellement le PDF? Symfony en tant que (bon) framework MVC a des objets matérialisant la requete et la réponse depuis le début (donc 0.4). Mais ce dont parle Fabien ici, ce n'est pas la présence de ces objets, mais le refactoring majeur qui va permettre de retirer (quasiment) toutes les dépendances du framework pour permettre une utilisation modulaire de chacun des composants... après ca, je ne rentre pas dans le troll que tu as très bien réussi a lancer, un simple download de ton code, regard a la structure, ouverture d'un fichier de classe (qui commence par une déclaration globale de fonction...), tentative de lancement des unit test (fatal error), recherche dans la doc d'infos (oups, t'en parle quelque part des tests, ou c'est juste pour faire standing ton repertoire d'unit tests), le tag RC1 a coté, le over-blog-v2 qui ne répond pas (bon ok c'est une version dev on ne dira rien) et l'absence d'un bon outil de travail collaboratif (entre autres...) montre tout du sérieux de ta librairie :-)
cheers
@loufoque, pierre et hartym : vous avez bouffé quoi à noël ? parce que bon, apparement, cela a diminué votre capacité à comprendre ce que vous lisez. j'avais pourtant bien mis "humour trollesque", mais bon, vous êtes tombé dedans...
@hartym :
Oui je l'ai lu, et j'ai bien compris que les reponses de l'actuel symfony vont être refondu, pour mieux ressembler à ce qui existe dans Jelix (as tu regardé ce qu'étaient les réponses dans Jelix ?). Y a réponse et réponse hein...
Pour le reste, repondons à ton lancé de troll :
Quel fonction globale ? tu parles de quel fichier de classe ?? Parce que bon, les fonctions globales ne sont pas légions dans jelix qui est quasi 100% objet.
ah ba oui, mais bon si tu ne lis pas le fichier INSTALL.txt (oui, il faut configurer la base de donnée etc pour pouvoir certaines parties de jelix)...
C'est écrit là dont le lien est dans le sommaire de la doc française (faut pas essayer de coder alors qu'on a pas fini de cuver le champagne, c'est connu qu'il est difficile de lire sinon :-p )
pas compris là... À coté de quoi ?
mouai.. Tu sais, la v2, ça fait longtemps qu'elle est en ligne, et donc que cette url est invalide (ba oui hein, faut toujours faire attention à la date d'une news ou d'un billet pour comprendre qu'un lien peut être "mort")... suffit juste d'aller sur www.over-blog.com/ pour "voir" un site basé sur jelix (parmis les centaines de blog d'over-blog basés sur jelix)...
Ah ? Pourtant trac est reconnu et utilisé par de nombreux projets opensource. M'enfin tu n'as pas vraiment du faire beaucoup d'effort de lecture (toujours le champagne trés certainement), pour avoir "rater" le gros lien contribuer sur toute les pages du site.
Mais si pour toi trac n'est pas un bon outils de travail collaboratif, va en parler à tes petits copains de chez symfony, parce qu'ils utilisent trac aussi, qui ne se sont pas trop foulé d'ailleurs pour l'intégrer avec le design du site symfony. Au passage, pour la forge aussi, ils ont quelques problèmes : "symfony-forge will not be launched until the svn and trac repositories can be migrated to symfony-forge successfully.". Pourtant, la forge de jelix, fonctionne parfaitement à base de trac et svn ;-) (y a juste l'inscription automatique qu'il faut que je développe).
Ce n'est pas une librarie, mais un framework.
M'enfin, j'ai bien compris que, étant un fan de symfony, ce billet ne t'as pas plu, et que ton commentaire sur jelix est de pure mauvaise foi ;-)
rien ne pointe sur l'install.txt
quelle classe? jException... désolé si c'est pas légion, j'en ai ouvert qu'une seule et au hasard....
ta doc ensuite parle de tests de projets, je parlais des tests de ta librairie...
le trac, j'ai pas pu le trouver, ceci dit je n'ai que peu de temps a perdre sur les outils de bidouilleurs donc j'ai peu cherché :)
et pour info, symfony forge est un projet parallèle d'un développeur dont je tairais le nom, et ca n'a rien a voir avec symfony. Par contre trac/svn sur symfony-project fonctionne très bien :)
et oui mon commentaire est de pure mauvaise foi, étant donné le troll que tu lance je ne pouvais que te lancer ce que tu cherche.
bonne chance pour la suite
Si tu as tenté de lancer des tests, c'est que tu as téléchargé l'application testapp non ? Elle possède un fichier INSTALL.txt...
La fonction dont tu parles est un handler pour la fonction php set_exception_handler...
les tests du framework sont basés sur le système décrit dans la doc que je t'ai indiqué..
ah, donc le framework n'est pas testable en lui même, besoin d'une application par dessuspour le rendre testable?
Et alors ? On peut faire des tests sans application, mais il y a forcément des choses à tester lorsque tout le framework est lancé, quand tout un environnement d'execution est mis en place, donc quand on est dans une appli. De plus, Jelix proposant un module facilitant le développement de tests unitaires, autant l'utiliser. D'ailleurs les tests unitaires de jelix sont visibles en ligne.