Les frameworks PHP inspirés de Ruby on Rails (CakePHP)
Publi� le 3 octobre 2006
GIF - 8.3 ko, http://www.h3rald.com/img/pictures/rails.gif

Il y a plusieurs articles en ligne parlant des différents frameworks PHP, avec de courtes descriptions et des graphiques de comparaison, mais je n'ai pas encore trouvé un article examinant ce qu'on appelle les "frameworks PHP de type Rails", partout sur le web, alors j'ai décidé d'écrire le mien ...

Je parle de ces frameworks PHP qui doivent une partie de leur succès à Rails2, mais ne les appeller pas des clones ou des portages ou leur créateurs se sentiraient offensés.

Depuis que Rails a choqué tout le monde avec un framework de développement facile à utiliser, puissant et peu sensible, le développement web n'est plus ce que c'était : tout doit être fait de façon efficace, rapidement et vous devez produire une beta compatible web 2.0 après X jours/semaines/mois ou alors votre travail ne sera utile pour personne. Essayez de faire cela avec un code PHP traditionnel de type spaghetti : vous ne pouvez pas, c'est trop, il sera trop dépendant et à la fin vous vous casserez la tête à trouver ce fameux bug insignifiant qui rend votre application complètement inutile.

Oui, vous pouvez utiliser Rails, mais peut-être que vous ne le connaissez pas ou ne voulez pas l'apprendre, votre serveur ne le supporte tout simplement pas, votre patron adore PHP etc. Si vous êtes dans cette situation et que vous souhaitez simplement connaître ce qui se passe dans le front de la guerre entre PHP et Rails, vous devriez continuer à lire cet article.

J'aimerais introduire - très brièvement - 6 frameworks PHP inspiré de Rails et les comparer les uns avec les autres pour décrire leurs fonctionnalités et leurs avantages et inconvénients.

Note : Je suis un fande CakePHP3, ce site a été construit avec CakePHP et j'ai même écrit des choses à son propos dans le passé. Cela fait inévitablement de moi quelqu'un de partial et plus familier avec ce framework, mais je vais essayer de faire de mon mieux pour fournir une analyse plutôt objective.

PNG - 13.9 ko, http://www.h3rald.com/img/pictures/CakePHP_1.0.png

Site web : www.cakephp.org
version de PHP : PHP4 et PHP5
License : MIT5
Poids (.tar.gz) : 184KB
Bases de données supportées : MySQL, PostgreSQL, SQlite, MS SQL + _ any autre support d'ADOdb ou PEAR : DB database abstraction layers
Tutoriel débutant : Blog

Description officielle :
“Cake est framework de développement rapide pour PHP qui utilisent couramment des patrons de conception comme ActiveRecord, Association Data Mapping, Front Controller ou MVC. Notre objectif principal est de fournir un framework structueé qui permet aux utilisateurs de PHP de tous les niveaux de développer rapidement des applications robustes sans aucune perte de souplesse.”

AVANTAGES :

-  Léger, pas surdimensionné, contient seulement du code essentiel
-  Tourne sous PHP4 et PHP5
-  Pas de configuration nécessaire sauf pour une stupide fichier de config de la base de donnée et quelques constantes qui peuvent être modifiées. Vous pouvez littéralement commencer à coder en moisn de 5 minutes
-  Support étendue pour les associations entre tables, permettant la création d'architectures complexes
-  structure de répertoires très logique et fonctionnelle : mieux que Rails, si vous me le demandez.
-  Support étendue d'AJAX à partir des "view helpers" d'AJAX et Javascript
-  Commande "bake" très utile pour générer automatiquement des parties de code
-  communauté très active avec plein de sites satellites
-  Convient à tout site web, du site personnel à l'application de commerce en ligne.

INCONVENIENTS :

-  Pas de supports "officiel" de l'internationalisation, mais cela sera inclus dans les prochaines étapes.
-  Il n'utilise pas tous les avantages de PHP5 [1]
-  La documentation officielle nécessite encore d'être améliorée, bien qu'elle semble complète et exhaustive.

Commentaires :
CakePHP est mon favori : facile à apprendre, facile à utiliser, multi-usages et pas surdimensionné. La philosophie de Cake est de ne pas inclure du code non absolument nécessaire dans le framework, comme résultat, les bibliothèques ne sont pas incluses dans les releases officielles, mais peuvent être intégrées par les développeurs quand ils en ont besoin. Le succès de Cake est déterminé partiellement par - au moins au départ - par le fait qu'il peut marcher simplement sans limitations de PHP4, alors que d'autres frameworks, non. Aussi, cela peut être une de ces forces les plus évidentes, Cake semble aller dans la bonne direction, prenant seulement le meilleur de Rails, sans forcer les développeurs à des adaptations complexes et ponctuelles, en évoluant vers un grand framework créé avec PHP, pour PHP.




Pages 1 | 2 | 3 | 4 | 5


[1] Sinon il ne serait pas compatible PHP4.