Symfony ça roxe, Cake PHP je connais pas.
Bon disons que :
Je ne cite que ce que j'imagine est un point particulier de Symfony, il y a mille autres points qui sont très positifs. Le seul point négatif c'est qu'effectivement c'est dur à prendre en main, mais ça ça vaut pour tous les frameworks (même PEAR n'est pas facile à prendre en main, et ce n'est pourtant qu'une simple boite à outils).
Bon disons que :
- La ligne de commande c'est un avantage énorme on peut définir ses propres taches qu'on lance ultra facilement, un projet Symfony peut aussi bien être accompagné de "batchs" de maintenance qui se lancent en CLI avec tout l'environnement qui va bien.
- L'apprentissage d'un framework est compliqué. Symfony est extrèmement complet et puissant, donc il est forcément un peu plus long à prendre en main. Très franchement quand j'ai testé CakePHP je m'y suis mis 2 jours, j'avais un peu plus qu'un hello world, et je commençais à peu près à voir l'organisation du bouzin. Après 2 jours de Symfony j'en étais exactement au même point, donc je ne pense pas que l'un soit plus complexe à appréhender que l'autre.
- Écrire son schéma en YaML et faire générer toutes les classes du modèle, les tables correspondantes dans la bdd, et tout en gardant un contrôle complet sur les types de données, les relations, les index & cie, et tout ça en une ligne de commande, je trouve que c'est un avantage assez énorme
- Les générateurs d'interface admin sont complets «out of the box» et malgré cela ultra-configurables
- Le système à trois niveaux (project-wide, application-wide, module-wide) se retrouve dans chaque domaine (config, autoload, templats), et c'est très très pratique de pouvoir toujours écraser une valeur du niveau supérieur. Pour customiser un plugin ça devient très intéressant, imaginons qu'on veuille changer la config d'un module du plugin, au lieu d'éditer plugins/myPlugin/modules/myModule/config/module.yml et de perdre la config à chaque mise à jour, on crée apps/myApp/modules/myModule/config/module.yml et on met dedans les points de config qu'on veut écrase
- Le système de filtres est très efficace.
- Les "slots" permettent de définir des zones du layout principal qui seront remplies plus tard très simplement.
- Et la foison de plugins est très appréciable.
- La doc qu'on trouve sous diverses forme : un tutoriel à suivre en 24x1h, un livre complet (disponible un peu partout), une doc de l'API. Et bien sûr une section "snippets" très intéressante sur le site. D'ailleurs c'est le point critique pour tout framework, et quand Yahoo! a décidé d'utiliser Symfony pour la refonte de del.icio.us, ils ont indiqué que c'était la documentation très riche qui avait déterminé leur choix.
Je ne cite que ce que j'imagine est un point particulier de Symfony, il y a mille autres points qui sont très positifs. Le seul point négatif c'est qu'effectivement c'est dur à prendre en main, mais ça ça vaut pour tous les frameworks (même PEAR n'est pas facile à prendre en main, et ce n'est pourtant qu'une simple boite à outils).
Ressources [PHP][MySQL][prototype.js]