Table of Contents : Le Manuel

Vue d'ensemble

Les applications CakePHP bien écrites suivent le motif de conception (design pattern) logiciel MVC (Modèle-Vue-Contrôleur).

Programmer en utilisant MVC sépare votre application en trois parties principales. Le « modèle » représente les données de l’application, la « vue » fournit une présentation des données du modèle et le « contrôleur » se charge d’orienter les requêtes effectuées par les utilisateurs.

Figure 1

Figure 1: Une requête MVC basique

La figure 1 montre un exemple d’une requête MVC « sommaire » avec CakePHP. Pour illustrer mon propos, laissez-moi vous dire qu’un utilisateur nommé Ricardo a simplement cliqué le lien « Achetez un Cake personnalisé maintenant ! » sur la page d’accueil de votre application.

  1. Ricardo clique le lien qui pointe vers http://www.example.com/cakes/buy et son navigateur envoie une requête à votre serveur web.
  2. Le répartiteur (dispatcher) analyse l’URL (/cakes/buy) et transmet la requête au contrôleur concerné
  3. Le contrôleur exécute la logique spécifique de l’application. Par exemple, il peut vérifier si Ricardo s’est identifié.
  4. Le contrôleur utilise aussi les modèles pour obtenir l’accès aux données de l’application. Le plus souvent, les modèles représentent une table de la base de données, mais ils peuvent aussi représenter des entrées LDAP, des flux RSS ou des fichiers sur l’ordinateur. Dans cet exemple, le contrôleur utilise un modèle qui récupère, dans la base de données, les derniers achats de Ricardo.
  5. Une fois que le contrôleur a effectué ses traitements « magiques » sur les données, il les transmet à une vue. La vue récupère ces données et les formate pour les présenter à l’utilisateur. Les vues dans CakePHP sont le plus souvent au format HTML, mais une vue pourrait tout aussi bien être, en fonction de vos besoins, un document PDF ou XML, ou bien un objet JSON.
  6. Une fois que la vue a utilisé les données du contrôleur pour contruire une vue de rendu complète, le contenu de cette vue est renvoyé au navigateur de Ricardo.

Presque chaque requête à votre application suivra ce schéma de base. Nous le retrouverons plus tard, dans de nombreux cas particuliers de Cake, gardez-le donc dans un coin de votre esprit tandis que nous poursuivons.