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. 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
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. 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. 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. 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. 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é :
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. 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 …