formation cakephp
TRANSCRIPT
Mr. EZZAOUFI Amine
Outils utilisés
Wamp Server
Sublime Text Editor
pré requis
Langage PHP
HTML & CSS
SQL
Table de matières
• Cake PHP?• Installation et configuration• Le modèle MVC• Architecture d’un projet Cake PHP• Les classes en Cake PHP• Les contrôleurs en Cake PHP• Les vues en Cake PHP• Projet Gestion de comptes en Cake PHP
1
Cake PHP
Cake PHP: Framework Open Source de langage PHP, Crée en 2005, Il se base sur l’architectureMVC ( Modèle- Vue - Contrôleur).
Avantages: • Compatible avec PHP5 et PHP7• Intégration facile d’une Template HTML,CSS dans le projet Cake PHP.• Simple intégration du CRUD (Ajouter-Chercher-Modifier-supprimer).• Utilisation simplifié de la base des données.• Possède des composants de sécurité, de gestion des droits et de gestion des sessions.• Cache des vues et des actions flexible.Inconvenants: • Exige le respect des règles de nommage pour les classes, et les contrôleurs .• Peu utilisé sur le marché de l’emploi.
2
Installation et configuration
• Premièrement il faut installer un serveur web tel que EasyPHP ou bien Wamp Server,• Après il faut télécharger le Cake PHP soit dans le site officiel ou bien en git hub.(Lien de téléchargement en Git Hub : https://github.com/cakephp/cakephp/archive/2.8.8.zip )
• Ensuite on met le projet téléchargé dans le répertoire www du serveur web.• On ouvre le projet dans le navigateur. Ce qui nous donne le résultat suivant:
3
Installation et configuration
• On cherche dans le ficher lib\Cake\Utility\Debugger.php sur les deux lignes 839 et 842, Et on change un caractère dans la chaine de la Security.salt comme montre La figure suivante:
Apres on obtient ce résultat:
4
Installation et configuration
• La dernière configuration c’est de la base de données, On crée une base de donnéesSous le nom de Base1
• Après on change le nom du fichier app\config\database.php.default vers app\config\database.php
• Et finalement on déclare les information de la base de données dans le fichier.
5
Le modèle MVC
6
Architecture d’un projet Cake PHP
Config
app
Controller Model
View
Layouts
Webroot
CSS JS img
Database.php
Default.ctp
Pages
7
Les classes en Cake PHP
• Les classes se trouve dans le dossier app\model • Chaque classe doit être associer à une table de la base de données• Le nom de chaque table de la base de données doit être terminer par un s• Chaque table sa clé primaire on doit la nommer id avec l’option auto incrémente • Chaque classe son nom doit être commencer par un majuscule
8
Les classes en Cake PHP
Les relations entre les tables
belongs to: représente l’association de plusieurs vers unhasmany: représente l’association de un vers plusieurs
9
Les contrôleurs en Cake PHP
• On nomme un contrôleur par l’ajout d’un s comme les classes plus on ajout le nom Controller attaché (exemple : ProduitsController)
• Chaque contrôleur est associé à une ou plusieurs classes
• Dans le contrôleur on met les méthodes.
10
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
1-La méthode de recherche findIl y a plusieurs type de recherche comme démontre l’image au dessous l’exemple de La recherche de toutes les lignes de la table produit en utilisant le mot all
On possédons la possibilité de chercher le premier enregistrement en mettant le mot clé first ,Dans la select on met les conditions dans un tableau array(‘condition’=> array(Nos conditions)) L’exemple au dessous montre la recherche du premier enregistrement de la table produit avec la condition que l’id du produit égale à 1
On peut sélectionner le nombre de lignes en mettant le mot clé count
11
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
1-La méthode de recherche findLorsqu’on utilise le mot clé list dans la méthode find, Il nous ramène comme résultat un tableauD’objet indexé.
Résultat :
12
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
2-La méthode d’insertionOn insert les données dans un tableau en associant chaque paramètre de la table a sa valeur.Puis en mets le tableau dans la méthode save.
13
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
3-La méthode de la modificationC’est le même cas de l’insertion sauf qu’on ajout le id dans les paramètres.
14
Les contrôleurs en Cake PHP
Les méthodes pour s’interagir avec la base de données
4-La méthode de la suppressionPour la suppression c’est simple on donne juste l’id comme paramètre dans la fonction delete.
Dans ce cas nous avons supprimé le produit qui a l’id numéro 1.
15
Les vues en Cake PHPDans le dossier View, On crée des dossiers, Chaque dossier est associé à un contrôleur ,Par exemple si nous avons un contrôleur ProduitsController on crée un dossier qui s’appelleProduits. Dans lequel on crée des fichier de type ctp chaque fichier est associé à une méthode.Par exemple nous avons une méthode dans le contrôleur ProduitsController qui s’appelle index.On crée un fichier dans le dossier Produits dont son nom est index.Dans le vue on obtient les résultats de la méthode. Par exemple : on fait une selection de tous Les produits, Et on les affiche dans la vue
16
Les vues en Cake PHP
Le contrôleur La vue
Exemple:
Dans la méthode produits() . Nous avons sélectionné toutes les lignes de la table Produit en les mettant dans la variables ‘produits’. Dans la vue nous avons affiché toutes les marques De tous les produits sélectionnés.
17
Les vues en Cake PHP
Les formulaires
18
Les vues en Cake PHP
Les formulaires
L’appel du formulaire
19
Les vues en Cake PHP
L’affichage des images :
En Html on utilise <img src=‘’ ‘’>, Le cas est différent en CakePHP. On fait appel à:$this->Html->img()
Les liens :
C’est l’equivalent de <a href> en html dans le cake PHP nous utilisons :$this->Html->link ()
20
Les vues en Cake PHP
Les fichiers CSS,JS et les images: Pour les fichiers css on les stocke dans le répertoire app\Webroot\css.Pour les fichiers JS on les stocke dans le répertoire app\Webroot\ JS\.Pour les images on les stocke dans le répertoire app\Webroot\IMG\.
La déclaration des fichiers CSS et JS : L’appel se fait dans le fichier default.ctp qui se trouve dans le dossier app\Viwe\LayoutsPour l’appel d’un fichier CSS qui s’appelle par exemple style.css
Pour un fichier javascript (style.js)
La même chose pour liens de JS ou CSS
21
Projet Gestion de comptes en Cake PHPCahier des charges:L’objectif de ce projet est de réaliser une application web qui permet en Cake PHP qui permet :• L’ajout d’un client.• La mise à jour des informations d’un client.• La suppression d’un client.• La recherche d’un client.• L’ajout d’un compte bancaire.• La suppression d’un compte bancaire.• La recherche sur un compte bancaire d’un client donné.• L’affichage des comptes bancaires d’un client donné• Effectuer un virement dans un compte.• Effectuer un retrait sur un compte.• Effectuer un transfert d’argent d’un compte vers un autre.• Afficher toutes les opérations effectuées dans un compte bancaire• Afficher toutes les opérations effectuées dans tous les comptes bancaires d’un client.