Une introduction
Par Padraig Galvin
Présentation du framework
●

Architecture Model View Controller (MVC)

●

Programmation orientée objet (OOP)

●

Crée en 2...
Caractéristiques
●

●

●

●

Validation et assainissement des données simple
Gestion des associations entre les données
au...
Structure du répertoire
/app
/Config
/Console
/Controller
/Lib
/Locale
/Model
/Plugin
/Test
/Vendor
/View
/tmp
/webroot
/l...
Les conventions
Route
Controller

Action (method)

View

Model

Database table

/articles/add
GET / POST

/articles

/arti...
Un simple exemple
Exemple d'application :

Le schéma
clients
id
name
email
created
modified

tags
id
name

tickets
id
client_id
description
...
Exemple d'application :

Les modèles
/app/Model/Client.php

/app/Model/Tag.php

/app/Model/Ticket.php
Exemple d'application :

Les relations
/app/Model/Client.php

/app/Model/Tag.php

/app/Model/Ticket.php
Exemple d'application :

Validation de donnée
/app/Model/Client.php

Règles de validation disponibles
alphaNumeric
between...
Exemple d'application :

Liste des clients (index)
Un petit test
/app/Controller/ClientsController.php

/app/View/Client/i...
Exemple d'application :

Afficher un client (view)
/app/Controller/ClientsController.php

Un petit test
/app/View/Client/v...
Exemple d'application :

Ajouter un client (add)
/app/Controller/ClientsController.php

Les données
/app/Controller/Client...
Exemple d'application :

Ajouter un client (add)
/app/View/Client/add.ctp - vues alternatifs
Minimal :

Précis :

HTML gén...
Exemple d'application :

modifier un client (edit)
/app/Controller/ClientsController.php

/app/View/Client/edit.ctp
Exemple d'application :

supprimer un client (delete)
/app/Controller/ClientsController.php

Lien pour supprimer
Astuces et conseils
●

●

●
●

●

Commencez par les tutoriels de la
documentation officielle
Prenez le temps de réfléchir ...
Version 3.0
●

PHP version 5.4 +

●

Installation avec Composer (http://getcomposer.org/)

●

Namespaces

●

Modèle amélio...
Ressources
●

Sites et téléchargements :
–
–

●

http://cakephp.org
http://www.cakephp-fr.org/

Le « Cookbook » (documenta...
Prochain SlideShare
Chargement dans…5
×

Cakephp

2 223 vues

Publié le

PHPotes #4: présentation et échanges autour du framework CakePHP.

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 223
Sur SlideShare
0
Issues des intégrations
0
Intégrations
218
Actions
Partages
0
Téléchargements
48
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Cakephp

  1. 1. Une introduction Par Padraig Galvin
  2. 2. Présentation du framework ● Architecture Model View Controller (MVC) ● Programmation orientée objet (OOP) ● Crée en 2005 (pour PHP 4.3) ● Inspirée de Ruby on Rails – Convention over configuration – DRY : don't repeat yourself ● Licence MIT (open source) ● Projet actif avec des mise a jour fréquente ● PHP version 5.2.8 +
  3. 3. Caractéristiques ● ● ● ● Validation et assainissement des données simple Gestion des associations entre les données automatique Système de templates avec des layouts, éléments réutilisables et helpers Composants et utilitaires intégrés pour gérer la cache, les emails, cookies … ● Sessions, authentification et contrôle d'accès ● Internationalisation (i18n) et localisation (i10n) ● Échafaudage et génération de code
  4. 4. Structure du répertoire /app /Config /Console /Controller /Lib /Locale /Model /Plugin /Test /Vendor /View /tmp /webroot /lib /Cake /plugins /vendors ← Votre application ← Configuration : routage, base de donné, sessions … ← Scripts CLI/Shell (Cron jobs). ← Traductions Gettext (fichiers PO). ← Unit tests (PHPUnit). ← Fichiers temporaire : cache, logs … ← Répertoire publique : CSS, JS, images … ← Cœur de CakePHP
  5. 5. Les conventions Route Controller Action (method) View Model Database table /articles/add GET / POST /articles /articles/edit/36 Class: ArticlesController File: app/Controller/ArticlesController.php index() add() edit($id) app/View/Articles/ index.ctp app/View/Articles/ add.ctp app/View/Articles/ edit.ctp Class: Article File: app/Model/Article.php articles
  6. 6. Un simple exemple
  7. 7. Exemple d'application : Le schéma clients id name email created modified tags id name tickets id client_id description created modified tags_tickets id tag_id ticket_id
  8. 8. Exemple d'application : Les modèles /app/Model/Client.php /app/Model/Tag.php /app/Model/Ticket.php
  9. 9. Exemple d'application : Les relations /app/Model/Client.php /app/Model/Tag.php /app/Model/Ticket.php
  10. 10. Exemple d'application : Validation de donnée /app/Model/Client.php Règles de validation disponibles alphaNumeric between blank boolean cc comparison custom date datetime decimal email equalTo extension fileSize inList ip luhn maxLength mimeType minLength money multiple naturalNumber notEmpty numeric phone postal range ssn time uploadError url userDefined uuid
  11. 11. Exemple d'application : Liste des clients (index) Un petit test /app/Controller/ClientsController.php /app/View/Client/index.ctp example.com/clients /app/View/Client/index.ctp find(string $type, array $params) first all count list threaded neighbors conditions recursive fields order limit ...
  12. 12. Exemple d'application : Afficher un client (view) /app/Controller/ClientsController.php Un petit test /app/View/Client/view.ctp example.com/clients/view/3 /app/View/Client/view.ctp
  13. 13. Exemple d'application : Ajouter un client (add) /app/Controller/ClientsController.php Les données /app/Controller/ClientController.php /app/View/Client/add.ctp POST : example.com/clients/add
  14. 14. Exemple d'application : Ajouter un client (add) /app/View/Client/add.ctp - vues alternatifs Minimal : Précis : HTML généré : HTML généré :
  15. 15. Exemple d'application : modifier un client (edit) /app/Controller/ClientsController.php /app/View/Client/edit.ctp
  16. 16. Exemple d'application : supprimer un client (delete) /app/Controller/ClientsController.php Lien pour supprimer
  17. 17. Astuces et conseils ● ● ● ● ● Commencez par les tutoriels de la documentation officielle Prenez le temps de réfléchir à votre schéma de base de données Utilisez bake avec des templates personnalisé Ne pas réinventez la roue, surtout pour la sécurité Respectez les conventions !
  18. 18. Version 3.0 ● PHP version 5.4 + ● Installation avec Composer (http://getcomposer.org/) ● Namespaces ● Modèle amélioré avec données en forme d'objet ● Configuration consolidée ● Et beaucoup plus …
  19. 19. Ressources ● Sites et téléchargements : – – ● http://cakephp.org http://www.cakephp-fr.org/ Le « Cookbook » (documentation) : – ● Support : – – – ● http://book.cakephp.org/2.0/fr/ https://groups.google.com/forum/#!topic/cakephp/ http://stackoverflow.com/tags/cakephp irc://irc.freenode.net/cakephp Code source : – https://github.com/cakephp/cakephp

×