Quel framework PHP choisir ?

Août 2013

Ces dernières années, la communauté PHP a vue apparaître de nombreux frameworks dont les principaux sont :

  • Zend framework : le framework "officiel" édité par la société Zend qui développe le langage PHP. L'avantage de Zend est qu'il est "modulaire", ce qui signifie qu'on peut en utiliser que certaines parties (matérialisées par des classes), sans être obligé d'utiliser tout le framework dans son intégralité. Zend Framework s'apparente plus à une boite à outils (une bibliothèque de fonctions très organisée) qu'à un réel framework avec des contraintes.
  • Symfony : c'est le framework qui monte en ce moment, sont ascension est fulgurante depuis 2010, il est édité par la société Française Sensio et est de plus en plus utilisé dans le monde entier. Symfony utilise d'autres projets comme l'ORM Doctrine pour gérer sa couche modèle. Il utilise également le moteur de template Twig (lui aussi édité par SensioLabs).
  • CakePHP, un framework RAD très influencé par Ruby on Rails qui vise à créer des applications en un temps record via le scaffolding et le CRUD.
  • CodeIgniter est un framework léger qui fournit le strict minimum (système MVC, routeur d'URL...) et permet donc une empreinte minimale au niveau des performances.
  • FuelPHP est l'un des plus récents, sa philosophie vise à réunir le meilleur des différents framework du marché de manière à obtenir un outil simple et puissant.
  • Yii Framework se rapproche de CodeIgniter en misant sur les performances.
  • Kohana utilise l'architecture alternative HMVC, dérivée de l'architecture MVC.

Il existe aussi de nombreux autres projets (il suffit de chercher sur github pour s'en rendre compte) de taille moins importante. Ce qu'il faut retenir en premier lieu, c'est qu'aucun framework ne se détache vraiment du lot, les outils sont nombreux et complémentaires.

L'autre point important c'est qu'il faut bien comprendre que la notion de framework en PHP n'est pas la même que ce qu'elle peut signifier dans d'autres technologies comme le .NET Framework ou en Ruby avec Ruby on Rails. En PHP, les framework ne sont que des surcouches au langage, il ne s'agit pas réellement de technologie "standalone" car tous ces framework reposent sur l'API PHP et ses modules phares comme PDO. De la même manière, utiliser un framework plutôt que développer directement en PHP ne fait pas forcément gagner du temps, l'utilisation d'un framework permet surtout d'apporter une architecture au projet, de manière à le rendre plus facile à maintenir et à faire évoluer.

Dans un tout autre contexte, cet article est très intéressant : exporter les variables du gestionnaire de nom excel.

Le MicroPHP Manifesto

Face à l'apparition de toutes ces surcouches qui nécessitent un temps d'adaptation et d'apprentissage parfois conséquent, un nouveau "courant" est apparu dans la communauté PHP, sous l'égide d'un document que l'on appelle le manifeste microphp, qui est à l'origine un articule publié par un développeur PHP : http://funkatron.com/posts/the-microphp-manifesto.html.

En gros, ce que dit l'auteur dans son billet, c'est que PHP est déjà un langage suffisamment riche pour ne pas avoir besoin d'y ajouter un framework compliqué qu'il est nécessaire d'apprendre et de bien connaître pour produire une application de qualité. Les frameworks sont alors considérés comme complexes voir antiproductifs et transforme PHP en une sorte de Java où on ne retrouve plus que des fonctions du framework qui complexifient le code et le rend inaccessible à n'importe quel développeur PHP. Je vous invite à consulter le site officiel du microphp manifesto : http://microphp.org/#!/.

Fini de lire cette page ? allez faire un tour ici : mettre en couleur un élément d'une photo noir et blanc, ça peut vous intéresser.

0 commentaire
facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré