Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

CodeIgniter: lavorare con i database

Articolo scritto da Claudio Garau
Pagina 1 di 5

1. Configurazione per l'interfaccia ai database

L'Application Framework per PHP CodeIgniter (per chi fosse interessato su questo è disponibile una mia guida introduttiva che illustra le basi di questo framework) mette a dispisizione un supporto completo per la creazione di applicazioni in grado di interagire con i dati contenuti all'interno di un database; tra i DBMS che è possibile utilizzare in associazione con questa piattaforma vi sono MySQL, MySQLi, PostgreSQL, ODBC, MSSQL, SQLite e Oci8.

CodeIgniter mette a disposizione dello sviluppatore un apposito file di configurazione in cui sarà possibile memorizzare tutti i parametri necessari per la connessione tra applicazione e Database Manager e per la selezione della base di dati da utilizzare; questi parametri sono in genere i seguenti:

Questo file di configurazione è posizionato sul seguente percorso:
system/application/config/database.php
All'interno del codice di questo file è presente un array multidimensionale che consentirà di indicare al framework tutti i parametri necessari per l'interazione con il database manager:
/* impostazione dei parametri per
l'interazione con i database */

// nome di host della macchina ospitante
$db['default']['hostname'] = "localhost";
// utente per la connessione al DBMS
$db['default']['username'] = "root";
// password per l'autenticazione dell'utente
$db['default']['password'] = "";
// nome del database da selezionare
$db['default']['database'] = "database_name";
// tipologia di DBMS da utilizzare
$db['default']['dbdriver'] = "mysql";
// prefisso per le tabelle
// (utile quando più applicazioni condividono lo stesso database)
$db['default']['dbprefix'] = "";
// connessioni persistenti: TRUE per abilitarle
// diversamente il valore dovrà essere FALSE
$db['default']['pconnect'] = TRUE;
// abilitazione del debugging delle interrogazioni:
// TRUE per abilitarlo diversamente il valore dovrà essere FALSE
$db['default']['db_debug'] = FALSE;
// abilitazione del caching delle interrogazioni:
// TRUE per abilitarlo diversamente il valore dovrà essere FALSE
$db['default']['cache_on'] = FALSE;
// percorso alla cartella in cui verranno salvati i file della cache
$db['default']['cachedir'] = "";
// set di caratteri utilizzati per le interrogazioni
$db['default']['char_set'] = "utf8";
// collation di caratteri utilizzati per le interrogazioni
$db['default']['dbcollat'] = "utf8_general_ci";
Il motivo per cui il framework introduce un array multidimensionale invece che un vettore monodimensionale, sta nel fatto che gli sviluppatori hanno voluto permettere agli utilizzatori di definire più raccolte di valori necessari per la connessione e l'interazione; si tratta di un meccanismo che può risultare molto utile per coloro che devono utilizzare più ambienti di lavoro ma un'unica installazione di CodeIgniter.
In questo modo sarà possibile per esempio creare un set di valori da utilizzare in fase di sviluppo e un'altro per la fase di produzione; ad esempio:
/* esempio di definizione di un set di connessione
per la fase di sviluppo di un'applicazione */

$db['sviluppo']['hostname'] = "localhost";
$db['sviluppo']['username'] = "pippo";
$db['sviluppo']['password'] = "pluto";
$db['sviluppo']['database'] = "agenda";
$db['sviluppo']['dbdriver'] = "mysql";
$db['sviluppo']['dbprefix'] = "cdi_";
$db['sviluppo']['pconnect'] = FALSE;
$db['sviluppo']['db_debug'] = TRUE;
$db['sviluppo']['cache_on'] = FALSE;
$db['sviluppo']['cachedir'] = "temp";
$db['sviluppo']['char_set'] = "utf8";
$db['sviluppo']['dbcollat'] = "utf8_general_ci";
A questo punto, per comunicare al framework quale delle raccolte si deve utilizzare in una determinata fase, sarà quindi sufficiente valorizzare la variabile $active_group presente nel file di configurazione con il nome del set da utilizzare:
/* definizione del set di connessione da utilizzare 
per la fase di lavoro corrente */
$active_group = "sviluppo";
Gli esempi presentati in questa parte della trattazione fanno riferimento al DBMS MySQL, in quanto il più utilizzato per la realizzazione di applicazioni Web based in PHP; ma per l'utilizzo di altri Database manager potrebbe non essere necessario specificare tutti i parametri di configurazione previsti nel file "database.php"; si pensi per esempio a SQLite che non richiede autenticazione.

Corsi
Corso LinuxCorso Linux
Guida completa al sistema open-source. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. A partire da 49 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122