Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

I file di configurazione

Il semplice ma sofisticato file di configurazione per la nostra applicazione. Un modo semplice e intuitivo per configurare ogni aspetto dei nostri progetti.
Il semplice ma sofisticato file di configurazione per la nostra applicazione. Un modo semplice e intuitivo per configurare ogni aspetto dei nostri progetti.
Link copiato negli appunti

Prima di continuare ad addentrarci nel mondo di Yii dobbiamo fermarci qualche attimo ad analizzare il file di configurazione. Yii dispone di tre file di configurazione, tutti situati nella cartella app/protected/config/. Essi sono:

  • console.php File di configurazione per le applicazioni console
  • main.php File di configurazione per le web application
  • test.php File di configurazione per le unit test

In questa guida ci occuperemo esclusivamente del file main.php, ma i concetti esposti per esso valgono grosso modo anche per gli altri due file. Da notare, inoltre, che nel file di configurazione si fa riferimento a cose non ancora trattate nella guida come ad esempio i moduli.

Il file di configurazione main.php di Yii non è altro che un grande array associativo. Ad ogni indice può corrispondere un singolo valore oppure un array associativo.

Vi suggerisco, per seguire questa parte della guida, di aprire il file in un editor PHP in modo da individuare facilmente quello di cui parliamo. Si farà sempre riferimento alle chiavi per spiegarne il significato.

Chiave Funzione
basePath => Indica il path di base. Normalmente si lascia inalterato.
name => Il nome della vostra applicazione. Visualizzato nella home ma soprattutto nel titolo delle pagine.
preload => Un array che indica quali sono i componenti da precaricare.
import => Un array che ci indica cosa deve essere caricato automaticamente. Nel file di esempio sono auto caricati i model e i component.
modules => Si tratta di un array che indica quali moduli devono essere caricati insieme ad Yii.
Params => Costituito da un array associativo nella forma chiave valore. Consente di accedere al valore di ogni singola chiave mediante l'array associativo params della classe app.

Soffermiamoci sulla chiave modules. Ogni modulo caricato rappresenta un indice di modules mentre il valore di questo indice è un array. Gli indici dell'array dei valori possono cambiare a secondo del modulo che si desidera caricare.

Nel file di configurazione di esempio vanno decommentate le linee per caricare il modulo gii, funzione in grado di rendere automatica la generazione di alcuni tipi di codice. Non dimentichiamoci di modificare le voci password e, se serve, ipFilters che indicano, rispettivamente, la password da usare per accedere alle funzioni del modulo Gii e il range di indirizzi IP accettati per l'accesso al modulo.

'modules'=>array(
	// uncomment the following to enable the Gii tool
	'gii'=>array(
		'class'=>'system.gii.GiiModule',
		'password'=>'password-a-scelta',
	 	// If removed, Gii defaults to localhost only. Edit carefully to taste.
		'ipFilters'=>array('127.0.0.1','::1'),
	),
),

Decommentate anche url manager, in modo da rendere le url seo friendly, e db, in modo da poter lavorare con il database. Nel file di esempio ufficiale è decommentato il modulo db riferito ad un database SQLite. Per chi volesse utilizzare, come noi, un database MySql basta commentare la voce relativa a SQLite e decommentare quella relativa a MySql sostituendo i dati di esempio con quelli della vostra configurazione (nel codice sotto miodb, mioutente e miapassword).

/*'db'=>array(
	'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
),*/
'db'=>array(
	'connectionString' => 'mysql:host=localhost;dbname=miodb',
	'emulatePrepare' => true,
	'username' => 'mioutente',
	'password' => 'miapassword',
	'charset' => 'utf8',
),

Infine troviamo errorHandler,che indica quale controller/action deve essere richiamato in caso di errore, e log, che indica quale classe di occupa del log dell'applicazione.

Ti consigliamo anche