Programmation PHP/Les cadriciels/CakePHP
Un livre de Wikibooks.
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].
Sections |
[modifier] 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.
[modifier] Connaissances
- PHP 5 objet : Programmation PHP/La programmation orientée objet
- Avoir complété : Programmation_PHP/Exemples/Formulaire
- Être au moins débutant en programmation SQL
- Utilisation courante d'une base de donnée relationnelle : Découverte de MySQL, PostgreSQL et Oracle
[modifier] Outils
- Un EDI comme Eclipse
[modifier] Installation
[modifier] 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' => '');
[modifier] 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 :
[modifier] Configuration de votre EDI
Vous créerez un nouveau projet qui contiendra la copie locale de l'arborescence sous app/.