Tutoriel CakePHP pour les débutants : Qu'est-ce que le framework CakePHP ?

⚡ Résumé intelligent

Ce tutoriel CakePHP présente le framework PHP open source pour le développement rapide d'applications web basées sur le modèle MVC. Il explique ce qu'est CakePHP, pourquoi les équipes le choisissent, comment l'installer, sa structure de dossiers et sa configuration, les conventions de nommage, et comment le modèle MVC (Modèle-Vue-Contrôleur) est au cœur d'une application CakePHP.

  • 🎂 Qu'est-ce que CakePHP ? CakePHP est un framework MVC open-source qui permet de créer et de maintenir des applications web PHP avec moins de code.
  • | Pourquoi l'utiliser : Il offre un développement rapide, une base de données abstraction, validation intégrée et optimisé pour les moteurs de recherche URLs'ouvre sur la boîte.
  • 📦 Installation: Composer installe CakePHP avec une seule commande create-project ; la version actuelle 5 nécessite PHP 8.1 ou une version ultérieure.
  • (I.e. Structure des dossiers : Des dossiers clairs séparent le code source, la configuration, les tests, les journaux, les plugins et le répertoire racine web public pour faciliter la maintenance.
  • 🔤 Conventions: Privilégier les conventions à la configuration signifie qu'une dénomination cohérente des modèles, des contrôleurs et des vues réduit le code répétitif.
  • (I.e. Flux MVC : Les modèles gèrent les données, les vues gèrent la sortie et les contrôleurs acheminent le flux, maintiennentping Les préoccupations sont clairement séparées.
  • 🤖 Assistance IA : Les outils d'IA peuvent générer des applications CRUD CakePHP et aider à migrer un ancien projet CakePHP vers la version 5.

Tutoriel CakePHP

Qu’est-ce que CakePHP ?

CakePHP CakePHP est un framework open source permettant le développement et la maintenance rapides d'applications web PHP. Basé sur l'architecture MVC, il simplifie la création d'applications web PHP en réduisant la quantité de code. CakePHP permet également de séparer la logique métier des couches de données et de présentation.

Pourquoi utiliser le framework CakePHP ?

Voici les principaux avantages de l'utilisation du framework CakePHP :

  • CakePHP est de loin l'une des plateformes de développement web les plus rapides.
  • CakePHP permet aux développeurs d'acquérir un contrôle amélioré sur la base de données et les requêtes SQL.
  • Il permet aux utilisateurs de développer rapidement des applications web robustes sans perdre la flexibilité de leur environnement.
  • Support pour PostgreSQL, SQLite, MySQLet PEAR-DB pour ADODB, une base de données abstracbibliothèque de tion.
  • Facilite l'optimisation pour les moteurs de recherche URLs.
  • Offre des fonctionnalités telles que la validation des entrées et des outils de nettoyage qui sécurisent l'application.
  • Modèles utilisant la syntaxe PHP familière.

Comment installer CakePHP

La méthode recommandée pour installer CakePHP est d'utiliser Composer, le gestionnaire de dépendances PHP. Une fois Composer installé, exécutez la commande ci-dessous pour créer la structure d'un nouveau projet.

composer create-project --prefer-dist cakephp/app:~5.0 my_app

La commande télécharge CakePHP et ses dépendances dans un dossier nommé my_app. Vous pouvez ensuite démarrer le serveur intégré avec bin/cake server Ouvrez ensuite http://localhost:8765 dans votre navigateur. Notez que CakePHP 5 requiert PHP 8.1 ou une version ultérieure.

Histoire de CakePHP

Dans ce tutoriel CakePHP, nous allons maintenant aborder l'histoire du framework CakePHP :

Année Points de repère
2005 CakePHP a été développé par Michal Tatarynowicz le 15 avril 2005.
2005 CakePHP l'a publié sous licence MIT et l'a ouvert à la communauté des développeurs.
2005 Larry E Masters a pris la relève en tant que développeur principal.
2006 La version 1.0 a été publiée.
2011 La version 2 a été publiée.
2014 La version 3 a été publiée, une réécriture complète des versions précédentes.
2016 La version 3.3 de CakePHP a été publiée avec de nombreuses fonctionnalités avancées.
2019 La version 4.0 a été publiée, modernisant ainsi le framework.
2023 CakePHP 5.0 a été publié et nécessite PHP 8.1 ou une version ultérieure. La version actuelle (en 2026) est CakePHP 5.3.x.

Caractéristiques de CakePHP

Voici les fonctionnalités importantes de CakePHP.

  • Communauté active et conviviale
  • Architecture MVC
  • Validation intégrée
  • Fonctionne depuis n'importe quel répertoire de site web, avec ou sans configuration Apache.
  • Moteur de modèles
  • Opérations de mise en cache
  • Interactions CRUD faciles avec la base de données
  • Gestion des composants tels que les e-mails, les cookies, la sécurité, les sessions et les requêtes
  • Afficher les assistants pour Javascénario, Ajax, les formulaires HTML, et plus encore

CakePHP - Structure des dossiers

Maintenant, dans ce didacticiel du framework CakePHP, nous allons découvrir la structure des dossiers CakePHP.

Vous trouverez ci-dessous une structure de dossiers de CakePHP :

Dossier Description
Tests Ce dossier contient des cas de test pour votre application.
tmp Le dossier tmp stocke les données temporaires.
Vendeur Ce dossier contient l'emplacement d'installation de CakePHP et des autres dépendances de l'application.
Webroot Le répertoire racine du site web stocke tous les fichiers que vous souhaitez rendre accessibles publiquement.
Boîte Le dossier bin contient les exécutables de la console Cake.
Journaux Il contient vos fichiers journaux, qui dépendent de votre configuration de journalisation.
Config Le dossier config stocke les fichiers de configuration utilisés par CakePHP.
Plugins C'est ici que sont stockés les plugins utilisés par votre application.
Src Il contient le code de votre application, notamment les contrôleurs, les entités et les comportements. Le répertoire Locale stocke les fichiers de chaînes de caractères pour l'internationalisation, et le répertoire Model contient les tables, les entités et les comportements de votre application.

Configuration de CakePHP

CakePHP est livré par défaut avec un seul fichier de configuration. Il vous permet également de le modifier selon vos besoins. Il existe un dossier appelé « config » prévu à cet effet.

Nom de variable Description
Déboguer Vous permet de modifier la sortie de débogage de CakePHP.
App espace de noms Vous aide à trouver les cours d'application.
App.baseUrl Dé-commentez ce mot-clé lorsque vous ne souhaitez pas utiliser le mod_rewrite d'Apache avec CakePHP.
App.encodage Permet de définir l'encodage utilisé par votre application.
App.base Il s'agit du répertoire racine de l'application. Si cette valeur est fausse, elle sera détectée automatiquement.
App.fullBaseUrl Nom de domaine entièrement qualifié.
Application.webroot Il s'agit du répertoire racine du site web.
App.wwwRoot Le chemin du fichier vers la racine Web.
App.jsBaseUrl Chemin d'accès au répertoire public js.
Chemins d'application Configurez les chemins pour les ressources non basées sur les classes.
App.cssBaseUrl Il s'agit du chemin web vers le répertoire CSS public situé sous la racine du site web.
Sécurité.salt C'est une chaîne aléatoire utilisée pour le hachage.
Actif.timestamp Cette variable ajoute un horodatage lorsqu'elle est utilisée avec les fonctions d'assistance appropriées.

Cake-Conventions de dénomination PHP

CakePHP privilégie la convention à la configuration. La convention de nommage permet d'organiser le fonctionnement de l'application web. Ainsi, les noms de fichiers composés de plusieurs mots doivent être séparés par un tiret bas (« _ ») et les noms de classes doivent utiliser la notation camelCase.

Les composants MVC doivent respecter la syntaxe ci-dessous :

Nom du fichier Nom du cours Nom de la classe de base Lieu
Modèle Nom de la table au singulier avec l'extension .php, ex. : order.php Le nom du fichier en camelCase, ex. : Order Modèle d'application /app/modèles
Contrôleur nom_de_table_controller avec l'extension .php, ex : orders_controller.php Le nom de la table suivi de « Controller », ex. : OrdersController Contrôleur d'application /app/contrôleurs
Consultation Le nom de l'action dans le contrôleur avec l'extension .ctp, par exemple : add.ctp Pas de classes ; une vue contient des balises HTML et du PHP. /app/views/nom du contrôleur

Configuration des bases de données

CakePHP vous permet de configurer la base de données dans le config/app.php fichier. Il fournit une connexion par défaut avec des paramètres prédéfinis que vous pouvez modifier selon vos besoins.

Les paramètres importants sont donnés ci-dessous :

Paramètres Description
port (facultatif) Le port TCP ou le socket Unix utilisé pour se connecter au serveur.
Fuseau horaire Fuseau horaire du serveur à définir.
Programme Il vous aide à spécifier le schéma que vous pouvez utiliser.
unix_socket Utilisé par les pilotes pour se connecter via des fichiers de socket Unix.
clé_ssl Il s'agit du chemin d'accès au fichier de clé SSL.
ssl_cert Il s'agit du chemin d'accès au fichier de certificat SSL.
ssl_ca Il s'agit du chemin d'accès au fichier de l'autorité de certification SSL.
Historique Ce terme vous aide à effectuer la journalisation des requêtes.
Init Une liste de requêtes qui doivent être envoyées au serveur de base de données chaque fois que la connexion est créée.
Identifiants de citation Définissez cette option sur « vrai » si vous souhaitez utiliser des mots réservés ou des caractères spéciaux.

Comment fonctionne MVC dans CakePHP ?

Dans ce tutoriel sur le framework CakePHP, nous allons maintenant apprendre comment fonctionne le modèle MVC avec CakePHP.

Il s'agit d'une méthode dynamique pour construire le mécanisme principal d'une application web. Le modèle, la vue et le contrôleur sont indépendants les uns des autres.

Architecture MVC dans CakePHP
Architecture MVC dans CakePHP

CakePHP divise les opérations en trois parties :

  • Modèles : utilisés pour toutes les interactions avec la base de données.
  • Vues : utilisées pour toutes les sorties et tous les affichages.
  • Contrôleurs : Utilisés pour contrôler le flux de l’application.

Voici les étapes à suivre pour utiliser l'architecture MVC dans CakePHP :

Étape 1) Le client ou l'utilisateur interagit avec la vue.

Étape 2) Cette vue alerte le contrôleur de l'événement spécifique.

Étape 3) Le contrôleur envoie une requête de base de données au modèle et met à jour ce dernier.

Étape 4) Le modèle signale à l'utilisateur qu'il a changé.

Étape 5) La vue reçoit les données du modèle et se met à jour en fonction des données reçues.

Pourquoi utiliser MVC ?

  • CakePHP MVC vous aide à séparer la logique métier de la présentation et de la récupération des données.
  • Un site est divisé en sections logiques que vous pouvez gérer avec un contrôleur spécifique.
  • Lors des tests et du débogage d'une application, tout développeur peut localiser et corriger les erreurs sans avoir accès à l'intégralité du code.

Inconvénients de l'utilisation du framework CakePHP

  • La documentation fournie avec CakePHP n'est pas aussi complète qu'elle devrait l'être.
  • Pour utiliser CakePHP, le développeur doit mettre à jour les routes par défaut afin de créer des interfaces utilisateur sophistiquées. URLs, ce qui représente plus de travail que certains autres frameworks PHP.
  • CakePHP utilise un routage unidirectionnel, contrairement à d'autres frameworks.
  • Apprendre le PHP La mise en place d'un framework n'est pas toujours facile pour les débutants.
  • Le routage unidirectionnel constitue un autre inconvénient par rapport à des frameworks tels que Ruby on Rails.

FAQ

Oui, pour la maintenance des projets CakePHP existants et pour les équipes qui privilégient son approche conventionnelle à la configuration. Laravel et Symfony ont des communautés plus importantes, mais CakePHP 5 est activement maintenu et reste un framework robuste et productif.

CakePHP et Laravel sont tous deux des frameworks PHP MVC. Laravel bénéficie d'un écosystème plus étendu, d'une syntaxe expressive et de l'ORM Eloquent. CakePHP, quant à lui, privilégie des conventions strictes et une génération de code rapide avec une configuration minimale. Laravel est plus populaire ; CakePHP permet de démarrer plus rapidement une application classique.

CakePHP 5, la version majeure actuelle, requiert PHP 8.1 ou une version ultérieure. CakePHP 4, version plus ancienne, était compatible avec PHP 7.4 et versions ultérieures, mais son support arrive en fin de vie ; les nouveaux projets doivent donc viser CakePHP 5 avec une version récente de PHP.

Oui. L'IA peut générer la migration, l'entité, la table, le contrôleur et les modèles pour une ressource CRUD en suivant les conventions CakePHP, et expliquer les commandes de la console de compilation. RevConsultez les règles de validation et testez chaque action.

Oui. L'IA peut signaler les méthodes obsolètes, les espaces de noms mis à jour et les modifications de signature, et suggérer des solutions de remplacement étape par étape. Les migrations étant volumineuses, il est recommandé de procéder par étapes et d'exécuter la suite de tests après chaque modification.

Résumez cet article avec :