Prima di proseguire nella guida è bene soffermarci un momento sulla struttura del file system della nostra applicazione. Abbiamo organizzato nella seguente tabella le informazioni dettagliate su come il framework organizza i file e le directory di una webapp. Per ogni cartella e file è presente una breve descrizione della sua funzione che vi aiuterà nel capire a cosa serve quella specifica cartella o specifico file.
applicazione index.php //il file di ingresso per l’applicazione index-test.php //il file di ingresso per i test sull’applicazione assets/ //contiene file pubblicati in precedenza css/ //contiene i fogli di stile images/ //contiene le nostre immagini themes/ //contiene i temi dell’applicazione protected/ //contiene i file protetti dell’applicazione yiic //yiic command line script per utenti Linux yiic.bat //yiic command line script per utenti Windows yiic.php //yiic command line PHP script commands/ //contiene i comandi personalizzati per le applicazioni consolle shell/ //contiene i comandi shell personalizzati per le applicazioni console components/ //contiene i componenti Controller.php //la classe base del controller UserIdentity.php //classe usata per l’autenticazione config/ //contiene i file di configurazione console.php //file di configurazione per le applicazioni console main.php //file di configurazione per le applicazioni web test.php //file di configurazione per le unit test controllers/ //contiene le classi controller SiteController.php //il controller di deafult dell’applicazione data/ //dati di esempio del database schema.mysql.sql //the DB schema di MySql schema.sqlite.sql //the DB schema di SqlLite testdrive.db //dati esempio di SqlLite extensions/ //contiene le estensioni di terze parti messages/ //contiene la traduzione del testo nelle varie lingue models/ //contiene le classi di tipo model LoginForm.php //model login ContactForm.php //model contatti runtime/ //file temporanei generati in fase di esecuzione tests/ //contiene i file di test views/ //contiene le viste e il layout dell’applicazione layouts/ //contiene il layout main.php //il layout condiviso da tutte le pagine column1.php //layout a singola colonna column2.php //layout a doppia colonna site/ //vista per il controllo site pages/ //contiene pagine statiche about.php //vista della pagina about contact.php //la vista della pagina contatti error.php //la vista degli errori index.php //la vista della pagina index login.php //la vista per l’action login
Ricordo che queste cartelle sono situate all'interno della directory della nostra applicazione poiché in fase di creazione abbiamo scelto questa soluzione. Si veda il paragrafo installazione per ulteriori chiarimenti.
Path e alias
Yii dispone di una serie di alias che ci consentono facilmente di puntare alle cartelle con pochi comandi. In un'applicazione Yii ci sono delle cartelle ritenute fondamentali ed è proprio su di esse che sono definiti gli alias.
Esistono 5 alias predefiniti che sono:
- System: la directory principale del framework, framework appunto
- Zii: si riferisce alla directory zii di cui parleremo più avanti
- Application: si riferisce alla directory protected
- Webroot: si riferisce alla cartella in cui abbiamo creato l'applicazione
- Ext: la cartella extensions