CakePHP, du gâteau !


CakePHP est un framework de développement rapide pour PHP qui fournit une architecture extensible pour développer, maintenir et déployer des applications.
Il fait partit de la grande famille des frameworks PHP fonctionnant sur une architecture MVC (Modèle, vue, contrôleur) comme Zend Framework et symfony pour ne pas citer les plus connus.

Pourquoi CakePHP ?

Des CMS comme WordPress ou Joomla peuvent permettre de monter un site très rapidement. Alors pourquoi aller s’embêter sur un framework dont il faudra impérativement comprendre son fonctionnement et assimiler sa documentation ? L’idée générale reste un goût de la découverte de nouvelles solutions, de pouvoir étendre ses domaines de compétences, afin de pouvoir à l’avenir proposer des solutions plus rapidement montées et pérennes.
CakePHP n’est pas un CMS mais un framework qui va servir à construire des applications.

Une architecture MVC

L’architecture Modèle/Vue/Contrôleur (MVC) est une façon d’organiser une interface graphique d’un programme. Elle consiste à distinguer trois entités distinctes qui sont, le modèle, la vue et le contrôleur ayant chacun un rôle précis dans l’interface.
Dans l’architecture MVC, les rôles des trois entités sont les suivants.

  • modèle : données (accès et mise à jour)
  • vue : interface utilisateur (entrées et sorties)
  • contrôleur : gestion des événements et synchronisation

Rôle du modèle

Le modèle contient les données manipulées par le programme. Il assure la gestion de ces données et garantit leur intégrité. Dans le cas typique d’une base de données, c’est le modèle qui la contient.
Le modèle offre des méthodes pour mettre à jour ces données (insertion suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ses données. Dans le cas de données importantes, le modèle peut autoriser plusieurs vues partielles des données.

Rôle de la vue

La vue fait l’interface avec l’utilisateur. Sa première tâche est d’afficher les données qu’elle a récupérées auprès du modèle. Sa seconde tâche est de recevoir tous les actions de l’utilisateur (clic de souris, sélection d’une entrées, boutons, …). Ses différents événements sont envoyés au contrôleur.

Rôle du contrôleur

Le contrôleur est chargé de la liaison entre le modèle et la vue. Il reçoit tous les événements de l’utilisateur dans la vue et enclenche les actions à effectuer.
Si une action nécessite un changement des données, le contrôleur demande la modification des données au modèle et ensuite avertit la vue que les données ont changé pour que celle-ci se mette à jour.
Dans le cas d’une base de données des emplois du temps. Une action de l’utilisateur peut être l’entrée (saisie) d’un nouveau cours. Le contrôleur ajoute ce cours au modèle et demande sa prise en compte par la vue. Une action de l’utilisateur peut aussi être de sélectionner une nouvelle personne pour visualiser tous ses cours. Ceci me modifie pas la base des cours mais nécessite simplement que la vue s’adapte et offre à l’utilisateur une vision des cours de cette personne.

Le contrôleur est souvent scindé en plusieurs parties dont chacune reçoit les événements d’une partie des composants. Ce tri des événements peut s’avérer fastidieuse et peut conduire à un code pas très élégant (un énorme switch). C’est pour éviter ce problème que le contrôleur est réparti en plusieurs objets.

Accéder au site officiel de CakePHP

Nicolas Verhoye

Développeur Magento, Freelance

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *