3.4.1 Configurazione del Database

CakePHP cerca i dati di configurazione del database nel file app/config/database.php. Puoi trovare un esempio di configurazione nel file app/config/database.php.default. Una configurazione corretta assomiglia a questa:

var $default = array('driver'      => 'mysql',
                     'persistent'  => false,
                     'host'        => 'localhost',
                     'login'       => 'cakephpuser',
                     'password'    => 'c4k3roxx!',
                     'database'    => 'my_cakephp_project',
                     'prefix'      => '');
  1. var $default = array('driver' => 'mysql',
  2. 'persistent' => false,
  3. 'host' => 'localhost',
  4. 'login' => 'cakephpuser',
  5. 'password' => 'c4k3roxx!',
  6. 'database' => 'my_cakephp_project',
  7. 'prefix' => '');

L'array chiamato $default viene utilizzato per tutti i modelli, ma puoi impostare un database diverso in ogni modello tramite la variabile $useDbConfig. Per esempio, se la mia applicazione utilizza un secondo database, oltre a quello predefinito, puoi usarlo nei tuoi modelli: basta creare un array simile a quello chiamato $default, e poi impostare la variabile $useDbConfig = ‘array_del_secondo_database’ nei modelli che ne fanno uso.

Modifica le coppie di chiavi/valori come preferisci nell'array di configurazione.

Chiave Valore
driver Il nome del driver del database relativo a questa connessione. Per esempio: mysql, postgres, sqlite, pear-nomedriver, adodb-nomedriver, mssql, oracle, o odbc.
persistent Scegli se utilizzare o meno una connessione persistente.
host Hostname del database server (o indirizzo IP).
login Username per accedere al database.
password Password di accesso.
database Nome del database a cui ci si connette.
prefix (facoltativo) Una stringa da usare come prefisso di ogni tabella nel database. Se le tue tabelle non hanno un prefisso, lascia una stringa vuota.
port (facoltativo) La porta TCP o il socket Unix usato per la connessione.
encoding Il set di caratteri da utilizzare per le interrogazioni SQL.
schema Usato in PostgreSQL per specificare il nome dello schema da usare.

Nota che il prefisso è per le tabelle, e non per i modelli. Ad esempio, se crei una tabella di collegamento tra i modelli Apple e Flavor, devi chiamarla prefisso_apples_flavors (e non prefisso_apples_prefisso_flavors), e ovviamente impostare la chiave prefix a 'prefisso_'.

A questo punto, puoi esaminare le convenzioni di CakePHP, descritte nell'appendice a questo manuale. Se utilizzi le convenzioni standard nei nomi delle tabelle (e delle colonne) puoi usare alcune funzioni predefinite e ti risparmi un po' di configurazione.