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

Résumé du didacticiel CakePHP

Dans ce tutoriel CakePHP, nous apprendrons tous les concepts de base à partir de zéro. Ce didacticiel couvre la définition de CakePHP, l'historique, les fonctionnalités, la structure et la configuration des dossiers, ainsi que de brefs détails sur le fonctionnement du framework CakePHP.

Qu’est-ce que CakePHP ?

CakePHP est un framework open source pour le développement et la maintenance rapides d'applications Web construites en PHP. Il est basé sur le concept de l'architecture MVC, qui permet de créer des applications Web PHP de manière simple et facile avec moins de code. CakePHP vous aide également à séparer la logique métier de la couche de données et de la couche de présentation.

Pourquoi utiliser le framework CakePHP ?

Voici les principaux avantages/avantages de l’utilisation du framework CakePHP :

  • Cake PHP 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 aide les utilisateurs à développer des applications Web robustes sans perdre rapidement la flexibilité de leur environnement.
  • Support pour PostgreSQL, SQLite, MySQL, PEAR-DB pour ADODB, une bibliothèque d'abstraction de base de données.
  • Facilite les URL conviviales pour les moteurs de recherche
  • Fournissez des fonctionnalités telles que des outils de validation et de désinfection des entrées qui sécurisent l’application.
  • Création de modèles avec une syntaxe PHP familière

Histoire de CakePHP

Maintenant, dans ce tutoriel CakePHP, nous allons couvrir 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 aux développeurs de la communauté.
2005 Larry E Masters a pris la relève en tant que développeur principal.
2006 La version 1.0 est sortie
2011 La version 2 est sortie
2014 La version 3 a été publiée, ce qui annule complètement les versions antérieures.
2016 Version 3.3.3. CakePHP est publié avec de nombreuses fonctionnalités avancées.
2019 La version 3.7.9 est la dernière version publiée
2021 L'équipe principale de CakePHP annonce la disponibilité immédiate de CakePHP 4.2.2

Caractéristiques de CakePHP

Voici les fonctionnalités importantes de CakePHP.

  • Communauté active et conviviale
  • Architecture MVC
  • Validation intégrée
  • Fonctionne à partir de n'importe quel répertoire de site Web, avec ou sans configuration Apache.
  • Moteur de création de modèles
  • Cache haute performance Operations
  • Interactions faciles avec la base de données CRUD.
  • Validation intégrée
  • Composants Handlin tels que le courrier électronique, les cookies, la sécurité, la session et la demande
  • Afficher les assistants pour Javascénario, Ajax, Formulaires HTML et plus

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 temporaire stocke les données temporaires.
Vendeur Ce dossier vous aide à stocker CakePHP et d'autres dépendances d'application seront installées.
Webroot Les Webroot stocke tous les fichiers que vous souhaitez rendre accessibles au public.
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 journal.
Config Le dossier de configuration stocke les fichiers de configuration utilisés par CakePHP
Plugins Ce dossier contient des plugins pour l'application. C'est là que sont stockés les plugins utilisés par votre application.
Src Il contient une tâche de console et des commandes pour gérer votre application.

Paramètres régionaux Stocke les fichiers de chaînes pour l'internationalisation.

Modèle Contient les tables, entités et 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 classes d'applications ci-dessous.
App.baseUrl Dé-commentez ce mot-clé lorsque vous ne souhaitez pas utiliser le mod_rewrite d'Apache avec CakePHP.
App.encodage Cette commande vous permet de définir le codage utilisé par votre application.
App.base Il s'agit d'un répertoire de base dans lequel réside l'application. Si faux, cela sera détecté automatiquement.
App.fullBaseUrl Nom de domaine qualifié
Application.webroot Il s'agit d'un répertoire racine 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 d'un chemin Web vers le répertoire CSS public sous webroot.
Sécurité.salt C'est une chaîne aléatoire utilisée pour le hachage.
Actif.timestamp Cette variable vous permet d'ajouter un horodatage lors de l'utilisation des assistants appropriés.

Cake-Conventions de dénomination PHP

Cake suit l'idée de convention sur la configuration. La méthode de convention de dénomination permet d'organiser le fonctionnement de l'application web. Dans cette méthode, plus d'un mot dans le nom doit être séparé par « _ » lors du nom du fichier et par des cas chameaux lors du nom de la classe.

Les parties MVC doivent suivre la syntaxe ci-dessous :

Nom du fichier Nom du cours Nom de la classe de base Emplacement
Modèle Nom du fichier
Forme singulière du nom de la table avec l'extension .php ex : order.php
Le nom du fichier dans un cas Camel, ex : Order Modèle d'application /app/modèles
tablename_controller avec l'extension .php, ex : ordcrs_controllcr.php Le nom de la table ajouté Controller, ex : OrdcrsController Contrôleur d'application /app/contrôleurs
Découvrir Le nom de l'action dans le contrôleur avec l'extension .ctp, ex : add.ctp Pas de cours ; une vue c balises HTML et PHP. ' /app/vuews/nom du contrôleur

Configuration des bases de données

CakePHP vous permet de configurer la base de données dans config/app.php déposer. Il fournit une connexion par défaut avec les paramètres fournis que vous pouvez modifier selon votre choix.

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

Base de données Nom de la base de données
port (facultatif)
codage
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 Cette base de données utilisée par les pilotes pour se connecter via des fichiers socket Unix.
Clé SSL Il s'agit d'un chemin d'accès au fichier de clé SSL.
ssl_cert Il s'agit d'un chemin d'accès au fichier de certificat SSL.
ssl_ca Il s'agit d'un chemin de fichier vers 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.
Définissez sur true si vous souhaitez utiliser des mots réservés ou des caractères spéciaux

Comment fonctionne MVC dans CakePHP ?

Nous allons maintenant apprendre comment MVC fonctionne dans CakePHP dans ce tutoriel sur le framework CakePHP.

Il s'agit d'une manière dynamique de créer le mécanisme principal d'une application Web. Le modèle, la vue et le contrôleur se séparent.

Architecture MVC dans CakePHP
Architecture MVC dans CakePHP

Cake PHP 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 des applications

Voici les étapes pour utiliser l’architecture MVC dans CakePHP :

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

Étape 2) Afficher le contrôleur d'alertes de l'événement spécifique.

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

Étape 4) Le modèle alerte la vue lorsqu'il a changé.

Étape 5) View 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 du test et du débogage d'une application, tous les développeurs vous aident à localiser et à corriger les erreurs sans avoir les détails complets du code.

Inconvénients de l'utilisation du framework CakePHP

  • La documentation supportée par CakePHP n'est pas aussi complète qu'elle devrait l'être.
  • Pour utiliser le logiciel CakePHP, le développeur doit mettre à jour les routes par défaut pour créer des URL sophistiquées, ce qui représente beaucoup plus de travail que les autres frameworks PHP.
  • Routage unidirectionnel CakePHP par rapport aux autres frameworks.
  • Apprendre PHP le cadre n’est pas facile.
  • L'offre de routage unidirectionnel constitue un autre inconvénient par rapport aux frameworks tels que Ruby on Rails.

Résumé

  • CakePHP est un framework open source qui facilite grandement le développement et la maintenance d'applications PHP.
  • 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 a été développé par Michal Tatarynowicz le 15 avril 2005.
  • L'architecture MVC et la validation intégrée sont les fonctionnalités les plus importantes de CakePHP
  • CakePHP est livré par défaut avec un seul fichier de configuration qui vous permet de le modifier selon vos besoins.
  • La méthode de convention de dénomination de CakePHP permet d'organiser le fonctionnement de l'application web.
  • CakePHP vous permet de configurer la base de données dans le fichier config/app.php.
  • Cake PHP divise les opérations MVC 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 d'application.
  • Le plus grand avantage de l'utilisation de MVC dans CakePHP est qu'il vous aide à séparer la logique métier de la présentation et de la récupération des données.
  • Le plus gros inconvénient de CakePHP est que la documentation prise en charge par CakePHP n'est pas aussi complète qu'elle devrait l'être.