Cours CAKEPHP

Créer des sites Web rapide avec CakePHP : La session de CakePHP et Request Handler


Télécharger Créer des sites Web rapide avec CakePHP : La session de CakePHP et Request Handler

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Créer des sites Web rapide avec CakePHP : La session de CakePHP et Request Handler

...

Qu’est ce que CakePHP ? Pourquoi l’Utiliser ?

CakePHP 20 est un framework 21 pour PHP 22 gratuit 23 , open-source 24 , de développement rapide 25. C’est une structure fondamentale pour les programmeurs pour créer des applications web. Notre principal objectif est de vous permettre de travailler d’une manière structurée et rapide sans perte de flexibilité. CakePHP rompt la monotonie du développement web. Il vous offre tous les outils nécessaires pour ne coder que ce dont vous avez réellement besoin : la logique spécifique de votre application. Au lieu de réinventer la roue à chaque fois que vous démarrez un nouveau projet, récupérez une copie de CakePHP et concentrez-vous sur la logique de votre application. CakePHP dispose d’une équipe de développement 26 et d’une communauté actives, qui donnent au projet une forte valeur ajoutée. En plus de vous éviter de ré-inventer la roue, l’utilisation de CakePHP implique que le coeur de votre application est bien testé et qu’il peut être constamment amélioré.

Voici un aperçu rapide des caractéristiques que vous apprécierez en utilisant CakePHP :

— Communauté active et sympathique :ref :‘cakephp-official-communities.

— Système de licence souple 27

— Compatible avec les versions PHP 5.2.8 et supérieures.

— Fonctions CRUD 28. (create, read, update, delete) intégrées pour les interactions avec la base de données.

— Scaffolding 29 (maquettage rapide) d’application.

— Génération de code.

— Architecture MVC30

— Dispatcheur de requêtes avec des URLs propres et personnalisables grâce un système de routes.

— Validation intégrée des données 31

— Système de template 32 rapide et souple (syntaxe PHP avec des Helpers).

— Helpers (assistants) de vue pour AJAX, JavaScript, formulaires HTML. . .

— Components (composants) intégrés : Email, Cookie, Security, Session et Request Handling.

— Système de contrôle d’accès ACL 33 flexible.

— Nettoyage des données.

— Système de cache 34 souple.

— Localisation et internationalisation.

— Fonctionne sur n’importe quelle arborescence de site web, avec un zest de configuration Apache 35 pas très compliquée.

Comprendre le système M-V-C (Model-View-Controller)

CakePHP suit le motif de conception logicielle MVC36. Programmer en utilisant MVC sépare votre application en 3 couches principales :

La couche Model La couche Model représente la partie de l’application qui exécute la logique métier. Cela signifie qu’elle est responsable de récupérer les données, de les convertir selon des concepts chargés de sens pour votre application, tels que le traitement, la validation, l’association et beaucoup d’autres tâches concernant la manipulation des données. A première vue, l’objet Model peut être vu comme la première couche d’interaction avec n’importe quelle base de données que vous pourriez utiliser pour votre application. Mais plus globalement, il fait partie des concepts majeurs autour desquels vous allez exécuter votre application. Dans le cas d’un réseau social, la couche Model s’occupe des tâches comme de sauvegarder des données, de sauvegarder des associations d’amis, d’enregistrer et de récupérer les photos des utilisateurs, de trouver des suggestions de nouveaux amis, etc . . . Tandis que les objets Models seront « Ami », « User », « Commentaire », « Photo ».



La couche Vue

La Vue retourne une présentation des données venant du model. Etant séparée par les Objets Model, elle est responsable de l’utilisation des informations dont elle dispose pour produire une interface de présentation de votre application.

Par exemple, de la même manière que la couche Model retourne un ensemble de données, la Vue utilise ces données pour fournir une page HTML les contenant. Ou un résultat XML formaté pour que d’autres l’utilisent. La couche Vue n’est pas seulement limitée au HTML ou à la répresentation en texte de données. Elle peut aussi être utilisée pour offrir une grande variété de formats en fonction de vos besoins, comme les vidéos, la musique, les documents et tout autre format auquel vous pouvez penser.

La couche Controller

La couche Controller gère les requêtes des utilisateurs. Elle est responsable de retourner une réponse avec l’aide mutuelle des couches Model et Vue. Les Controllers peuvent être imaginés comme des managers qui ont pour mission que toutes les ressources souhaitées pour accomplir une tâche soient déléguées aux travailleurs corrects. Il attend des requêtes des clients, vérifie leur validité selon l’authentification et les règles d’autorisation, délèguent les données récupérées et traitées par le Model, et sélectionne les type de présentation correctes que le client accepte, pour finalement déléguer le processus d’affichage à la couche Vue.

Cycle de la requête CakePHP

...

Figure : 1 : Une requête MVC basique

Figure : 1 Montre la gestion typique d’une requête client dans CakePHP

Le cycle d’une requête CakePHP typique débute avec une requête utilisateur qui demande une page ou une ressource dans votre application. Cette requête est d’abord traitée par le dispatcheur, qui va sélectionner l’objet controller correct traitant la requête. Une fois que la requête arrive au controller, celui-ci va communiquer avec la couche Model pour traiter la récupération de données ou les opérations de sauvegarde qui seraient nécessaires. Cette communication terminée, le controller va donner à l’objet vue correct, la tâche de générer une sortie résultant des données fournies par le model. Finalement, quand cette sortie est générée, elle est immédiatement rendue à l’utilisateur. Presque chaque requête de votre application va suivre ce schéma classique. Nous ajouterons des détails plus tard qui sont spécifiques à CakePHP, donc gardez cela à l’esprit pour la suite.

Bénéfices

Pourquoi utiliser CakePHP ? Parce que c’est un logiciel vraiment construit selon le patron MVC, qui transforme une application en un dossier élaboré maintenable, modulable et rapide. Elaborer les tâches de l’application en séparant les models, vues et controllers, allègent votre application. De nouvelles fonctionnalités sont ajoutées facilement, et les améliorations sur les vieilles fonctionnalités se font en un clin d’œil. La conception modulable et séparée permet aussi aux développeurs et designeurs de travailler simultanément, avec la possibilité de prototyper 37 rapidement : La séparation permet aussi aux développeurs de faire des changements dans une seule partie de l’application sans affecter les autres. Si vous n’avez jamais construit une application de cette manière, cela prend quelques temps pour s’habituer, mais nous sommes confiants qu’une fois votre première application construite avec CakePHP, vous ne voudrez plus faire d’une autre façon. Pour commencer votre première application CakePHP, Essayez le tutoriel du Blog maintenant



... ...

Les cas de Test

Si vous avez toujours le sentiment que l’information fournie par l’API est insuffisante, regardez le code des cas de test fournis avec CakePHP. Ils peuvent servir d’exemples pratiques pour l’utilisation d’une fonction et de données membres d’une classe.

lib/Cake/Test/Case

Le canal IRC

Canaux IRC sur irc.freenode.net :

— #cakephp – Discussion générale.

— #cakephp-docs – Documentation.

— #cakephp-bakery – Bakery.

— #cakephp-fr – Canal francophone.

Si vous êtes paumé, poussez un hurlement sur le canal IRC de CakePHP. Une personne de l’équipe de développement 38 s’y trouve habituellement, en particulier durant les heures du jour pour les utilisateurs d’Amérique du Nord et du Sud.

Nous serions ravis de vous écouter, que vous ayez besoin d’un peu d’aide, que vous vouliez trouver des utilisateurs dans votre région ou que vous souhaitiez donner votre nouvelle marque de voiture sportive.

Forum Officiel

Forum Officiel de CakePHP 39

Notre forum officiel où vous pouvez demander de l’aide, suggérer des idées et discuter de CakePHP. C’est l’endroit idéal pour trouver rapidement des réponses et aider les autres. Rejoignez la famille de CakePHP en vous y inscrivant.

... ...

Controllers (Contrôleurs)

Les Controllers sont le “C” dans MVC. Après que le routage a été appliqué et que le bon controller a été trouvé, l’action de votre controller est appelée. Votre controller devra gérer l’interprétation des données requêtées, s’assurer que les bons models sont appelés et que la bonne réponse ou vue est rendue. Les controllers peuvent être imaginés comme un homme au milieu entre le Model et la Vue. Le mieux est de garder des controllers peu chargés, et des models plus fournis. Cela vous aidera à réutiliser plus facilement votre code et facilitera le test de votre code. Habituellement, les controllers sont utilisés pour gérer la logique autour d’un seul model. Par exemple, si vous construisez un site pour gérer une boulangerie en-ligne, vous aurez sans doute un RecettesController qui gère vos recettes et un IngredientsController qui gère vos ingrédients. Cependant, il est aussi possible d’avoir des controllers qui fonctionnent avec plus d’un model. Dans CakePHP, un controller est nommé d’après le model principal qu’il gère. Les controllers de votre application sont des classes qui étendent la classe CakePHP AppController, qui hérite elle-même de la classe Controller du cœur. La classe AppController peut être définie dans /app/ Controller/AppController.php et elle devrait contenir les méthodes partagées par tous les controllers de votre application. Les controllers peuvent inclure un certain nombre de méthodes qui gèrent les requêtes. Celles-ci sont appelées des actions. Par défaut, chaque méthode publique dans un controller est une action accessible via une URL. Une action est responsable de l’interprétation des requêtes et de la création de la réponse. Habituellement, les réponses sont sous forme de vue rendue, mais il y a aussi d’autres façons de créer des réponses.



Le Controller App

Comme indiqué dans l’introduction, la classe AppController est la classe mère de tous les controllers de votre application. AppController étend elle-même la classe Controller incluse dans la librairie du cœur de CakePHP.

AppController est définie dans /app/Controller/AppController.php comme ceci :

class AppController extends Controller {

}

Les attributs et méthodes de controller créés dans AppController seront disponibles dans tous les controllers de votre application. Les Components (que vous découvrirez plus loin) sont mieux appropriés pour du code utilisé dans la plupart (mais pas nécessairement tous) des controllers. Bien que les règles habituelles d’héritage de la programmation orientée objet soient appliquées, CakePHP exécute également un travail supplémentaire si des attributs spécifiques des controllers sont fournis, comme les components ou helpers utilisés par un controller. Dans ces situations, les valeurs des tableaux de AppController sont fusionnées avec les tableaux de la classe controller enfant. Les valeurs dans la classe enfant vont toujours surcharger celles dans AppController.



233