CakePHP 3 : le renouveau

⏲️ ~7 min de lecture

Publié le par Pierre
cakephp3

La version stable devrait sortir début 2015. Nous pensons chez Occitech que cette version comble énormément de lacunes et de manques du framework et peut se réconcilier avec les développeurs qui ont fait le choix d'autres frameworksil y a quelques années.

Que vous utilisiez actuellement CakePHP 2.x ou non, cet article a pour but de vous donner une bonne vision du CakePHP d'aujourd'hui, qui est plus actif que jamais !

Pour les chanceux qui participent au Forum PHP je vous invite à profiter de la session d'un des principaux artisans de cette nouvelle version (notamment au niveau de l'ORM).

Vous ne développez pas encore avec CakePHP ? #

Cette nouvelle mouture repositionne CakePHP dans l'écosystème du langage PHP. Fini l'image de vieux framework"PHP4" due aux choix de rétrocompatibilités faits lors des versions antérieures.

La version 3 veut profiter des dernières avancées de PHP et de sa communauté pour ne pas réinventer la roue et pouvoir (enfin) refactorer certaines couches internes en profondeur.

Basé sur des outils PHP à jour #

Plus de découplage #

Comme dit précédemment, les choix techniques effectués ont permis de refactorer le cœur du framework en profondeur. De nombreux Traits et autres classes pour les fonctionnalités classiques (Configuration, Logs, Collections ...) ont été extraites et découplées du framework.

Cela induit une plus grande homogénéïté des interfaces pour les utilisateurs, et rend possible une utilisation indépendante de CakePHP ! Un certain nombre de librairies sont donc d'ores et déjà disponibles indépendamment, sans perdre les standards de qualité du coeur de CakePHP (tests et documentation).

Parmi ces librairies :

Vous trouverez une liste exhaustive sur Github ou Packagist.

Un ADN préservé #

Malgré de grands changements structurels, la philosophie de CakePHP reste identique.

Tous ces points permettent de rendre le framework toujours aussi simple à prendre en main. Malgré l'avancement actuel de la version 3 (actuellement en beta2), la documentation est à jour et il est facile d'avoir une vision de ce qui arrive prochainement.

Ceci couplé à une politique de rétrocompatibilité et suivi des versions sur plusieurs années en font un framework idéal pour des applications professionnelles à grande échelle.

Un ORM "developer-friendly" #

"Toute requête doit pouvoir être faite en quelques lignes simplement"

C'est la vision du nouvel ORM développé dans CakePHP 3, Nous y reviendrons dans un prochain article, d'ici là vous pouvez lire la documentation et nous suivre afin d'être informé de nos futurs articles sur le sujet ;)

Vous développez déjà avec CakePHP #

Les développeurs déjà à l'aise avec le framework ne devraient pas avoir de mal à passer sur cette nouvelle version une fois les quelques gros changements assimilés. L'état d'esprit restant similaire, développer une nouvelle application basée sur CakePHP 3 ne nécessite pas de tout réapprendre.

Moins de magie #

Moins de code #

De nombreuses fonctionnalités présentes dans le coeur de CakePHP2 ont été supprimées du coeur au profit de plugins existants, ou créées pour l'occasion :

L'état d'esprit est donc de "maintenir moins de code mais mieux", en mettant en avant les plugins développés et maintenus par la communauté.

La liste s'agrandit de jour en jour et vous en trouverez sur https://github.com/cakephp et en fin de http://bakery.cakephp.org/articles/lorenzo/2014/09/28/cakephp_3_0_0-beta2_released

Le nouvel ORM #

Tant attendu chez les développeurs CakePHP, voici LE gros changement de cette mouture. La couche Modèle a été séparée en Entités et Tables (Repositories) permettant de réduire considérablement les responsabilités des Modèles.

De plus la création de requêtes complexes a été facilitée par une approche "diviser pour reigner" grâce aux custom finds que nous connaissions. Adieu donc les 'recursive' => 0 et le ContainableBehavior, plus de afterFind() ni de virtualFields ... le nouvel ORM gère ça de manière à mon sens bien plus propre, mais il va falloir que vous vous penchiez sur les changements en détails.

Je vous recommande donc en attendant nos prochains articles de vous plonger sans limite dans la documentation de migration de l'ORM.

Montrez-moi le code ! #

Cet article aurait été bien trop long si j'avais commencé à parler de code, mais ne vous en faites pas nous en publierons prochainement ;)

D'ici là je vous invite à parcourir les ressources ci-dessous :

En attendant les prochains articles sur Cake 3, n'hésitez pas à poser vos questions ou donner votre avis en commentaire : la discussion est ouverte.

Cet article vous a plu ? Sachez que nous recrutons !

← Accueil