< Programmation PHP

Le cadriciel CakePHP

CakePHP est un framework de type Rapid Application Developpement (RAD) utilisant le motif de conception modèle-vue-contrôleur.

Le moyen d'appréhender l'intérêt d'un cadriciel est par l'exemple. Après l'installation nous l'emploierons pour créer un formulaire simple d'enregistrement des données d'un utilisateur (nom, prénom, email, mot de passe) stockée dans une table de base de données. Ensuite, ce formulaire sera amélioré par l'ajout de vérifications et de validation des données. Pour conclure, l'on ajoutera une page d'identification.

Ce chapitre va décrire les grandes étapes d'installation puis de configuration du cadriciel CakePHP dans un but pédagogique. Pour une installation de production la référence reste le manuel de l'éditeur[1].

Prérequis

Coté serveur l'installation nécessite un serveur HTTP comme Apache avec le module de réécriture d'URL activé (rewrite), le langage PHP 5 avec la bibliothèque des sessions et un système de base de données PostgreSQL ou MySQL.

Connaissances

Outils

Installation

Base de données

Créez une nouvelle base de données cake_monapp pour l'utilisateur propriétaire cakedev :

MySQL :

CREATE DATABASE cake_monapp;
GRANT ALL PRIVILEGES ON cake_monapp.* TO 'cakedev'@'localhost' IDENTIFIED BY 'plop';

PostgreSQL :

CREATE USER cakedev WITH PASSWORD 'plop';
CREATE DATABASE cake_monapp OWNER cakedev;
GRANT ALL PRIVILEGES ON DATABASE cake_monapp TO cakedev;

Dans /cake/app/config/ renommez database.php.default en database.php puis modifiez y les paramètres de connexion à la base de donnée (nom de serveur, nom de base, utilisateur, mot de passe).

/cake/app/config/database.php :

Pour MySQL :

	var $default = array('driver' => 'mysql',
					'connect' => 'mysql_connect',
					'host' => 'localhost',
					'login' => 'cakedev',
					'password' => 'plop',
					'database' => 'cake_monapp',
					'prefix' => '');


Pour PostgreSQL :

	var $default = array('driver' => 'postgres',
					'connect' => 'pg_connect',
					'host' => 'localhost',
					'login' => 'cakedev',
					'password' => 'plop',
					'database' => 'cake_monapp',
					'prefix' => '');

Configurations

Toujours dans /cake_xxx/app/config/ modifiez core.php en changeant la constante CAKE_SESSION_STRING par une chaîne aléatoire, avec par exemple en ligne de commande :

perl -e '@c=("A".."Z","a".."z",0..9);print join("",@c[map{rand @c}(1..36)]),"\n"'

Rendre /cake_xxx/app/tmp accessible en écriture.

$ chmod -R a+x tmp

Vérifiez que le module de réécriture d'URL est activé pour le serveur web Apache :

Configuration de votre EDI

Vous créerez un nouveau projet qui contiendra la copie locale de l'arborescence sous app/.

Notes et références

  1. http://manual.cakephp.org/chapter/installing
Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.