Au boulot, je bosse depuis deux ans sur mkframework. Simple, facile à maitriser, ça marche pas mal en dehors d'un truc rédhibitoire pour moi : pas de moteur de template. Les templates utilisent du PHP, et pour moi, mettre du PHP dans sa présentation HTML, c'est le meilleur moyen de mélanger business logic et présentation.

La Rolls des frameworks actuellement, le grand vainqueur, c'est Symfony. Ca fait trois ou quatre prototypes que je développe avec Symfony, et franchement, j'en reviens. Que de plomberie !!! Que de travail fait en double. Des heures à  configurer des chemins, des namespaces, le tout en Yaml principalement. Changer la base de données se fait en modifiant les classes entitées en ajoutant des commentaires abscons, les relations 1-n ou n-n sont une vraie plaie à intégrer.

A coté de ça, ok, ça fait plein de choses, mais pour moi, c'est juste lourdingue2.

Par contre le moteur de template Twig, est vraiment bon.

Coté Laravel, je ne suis pas convaincu. J'ai un peu l'impression que c'est juste pareil.

Du coup je suis allé voir coté CakePHP et j'aime mieux. Au pris de conventions assez simples et logiques sur la base de données, on évite beaucoup de configurations chiantes. Le truc qui m'agace, c'est le baking. Ok, ça nous génère les modèles, les controleurs et les vues automatiquement à partir de la base de données, mais changez la base et il faut tout recuire ... quel intérêt d'automatiser la generation des classes en dur dans des fichiers ? Pourquoi ne pas générer les classes dynamiquement et autoriser un surclassage dès qu'on veut dévier du schéma de base ? On pourrait ainsi faire évoluer la base de données, sans avoir à tout recuire.
Là encore, un changement du schéma de la base de données se transforme en un boulot dingue, alors que justement, c'est ce qu'on veut éviter quand on prototype.

Après je suis tombé sur Lithium (ou L3), fait  par d'ex développeurs de Cake. Là pour le coup, c'est très RAD. Mais là encore, pas de moteur de template ... ça à l'air d'avoir de bonnes idées, mais je n'aime pas trop leur site, et je n'ai pas tout compris.

Au final, je me suis dit que j'allais reprendre et moderniser mon ancien framework maison : Fast FrameWork, sur lequel  j'ai développé pleins d'applications, comme le back office d'Ouvaton, et bien sûr, KarmaOS. Et puis c'est en cherchant une couche ORM satisfaisante (et  pas orientée création de classes d'abord et génération du schéma SQL ensuite comme Doctrine) que je suis tombé sur Fat-Free Framework (3F). Et  là ça semble pas mal. Le moteur de template est assez basique, mais finalement il doit faire 90% de ce que fait Twig et surtout 99% de ce dont j'ai besoin qu'il fasse. Pas de configs dans tous les sens, juste un fichier .ini simple comme il faut. Pas de bake qui te génère pleins de fichiers pour tes classes car elles sont générées à la volée, donc les modifications de la base de données se répercutent immédiatement dans l'appli sans commentaires phpdoc lourdingues ou cuisson supplémentaire (pas de double work).

Bref, une philosophie qui me plait bien et une mise en application qui semble efficace.

Et vous ? Un avis ?

N'hésitez pas à dire ce que vous en pensez dans les commentaires.