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

Codeigniter: cos'è, installazione, utilizzo

Introduzione a CodeIgniter, il framework per applicazioni Web in PHP: caratteristiche, installazione e configurazione
Introduzione a CodeIgniter, il framework per applicazioni Web in PHP: caratteristiche, installazione e configurazione
Link copiato negli appunti

CakePHP, Zend Framework, Symfony. Per gli sviluppatori PHP la scelta tra i framework non manca e molti di essi sono ormai talmente collaudati da poter essere utilizzati per la creazione di applicazioni anche molto complesse.

La logica alla base dei framework (vedi la sezione framework su PHP di HTML.it) è quella del RAD (Rapid Application Development), essi infatti non sono altro che una raccolta di librerie messe a disposizione dei programmatori che in questo modo non avranno la necessità di creare le proprie, lo sviluppo delle applicazioni sarà quindi molto più veloce.

Molti dei framework in circolazione hanno però il difetto di non essere semplici da utilizzare, questo vale in particolare per coloro che non possiedono approfondite conoscenze su PHP; la curva di apprendimento iniziale è sovente ripida a causa di complesse procedure per l'installazione e la configurazione, non di rado poi per il loro utilizzo sono necessari strumenti come l'accesso a shell per l'invio di istruzioni da linea di comando di cui non tutti dispongono.

CodeIgniter è un'alternativa, al momento poco conosciuta in Italia, nel vasto settore dei framework PHP che permette di usufruire di uno strumento leggero, semplice da utilizzare e adatto anche a chi non può permettersi di ospitare i propri progetti in costosi hosting di fascia alta.

CodeIgniter e paradigma MVC

CodeIgniter è un framework rilasciato sotto licenza Open Source per lo sviluppo di applicazioni in linguaggio PHP, esso si basa sul paradigma MVC (Model-View-Controller, letteralmente Modello-Vista-Controllore), ciò vuol dire che utilizzandolo sarà possibile separare il core dell'applicazione e il codice relativo all'elaborazione delle informazioni (Model e Controller) dalla parte relativa alla visualizzazione degli output (View).

Nel paradigma MVC, quindi anche nel funzionamento di CodeIgniter, troviamo quindi tre elementi fondamentali:

  • il Model: cioè la parte dell'applicazione che ha il compito di gestire il maggior numero di operazioni relative all'elaborazione dei dati, un esempio di questa funzionalità è dato classicamente dall'interazione dell'applicazione con le informazioni memorizzate all'interno delle tabelle di una base di dati;
  • la View: determina le modalità con cui gli output prodotti dall'applicazione verranno mostrati all'utente, per esempio producendo delle pagine HTML, dei documenti (Pdf, XLS etc.), dei feed RSS o dei file XML.
  • il Controller: presiede all'interazione tra gli utenti e i dati, la sua funzione principale è quindi quella di controllare i dati provenienti dal Model passandoli alla View sulla base delle procedure previste dall'applicazione.

A differenza di altri framework più conosciuti e utilizzati, CodeIgniter gestisce il paradigma MVC in modo molto più semplice, esso si basa su una struttura per classi di tipo singleton in cui l'oggetto principale permette di caricare tutte le librerie ed i modelli richiesti per lo sviluppo di una applicazione.

Con il termine singleton si intende indicare infatti un cosiddetto design pattern creazionale il cui scopo è quello di assicurare che per una classe esista una sola istanza e fornire, nello stesso tempo, un unico punto di accesso globale all'istanza stessa.

Caratteristiche di CodeIgniter

Perché preferire CodeIgniter ad altri framework più diffusi e collaudati? Questo strumento possiede alcune caratteristiche, relative in particolare alla sua semplicità di utilizzo, che potrebbero determinarne la scelta; vediamone alcune:

  • per utilizzare CodeIgniter non è necessario inviare istruzioni tramite linea di comando, tutto potrà essere fatto tramite il protocollo Ftp; quindi, anche chi usufruisce di hosting economici e privi di accesso a shell per SSH o Telnet potrà avvantaggiarsene;
  • il framework è estremamente leggero e non richiede una complessa struttura di directory e librerie, tutto quello che serve per utilizzarlo è contenuto in un'unica cartella che occupa poco spazio;
  • necessita di una configurazione minima o nulla; a parte la modifica di alcune voci all'interno di un semplice file di configurazione che vedremo tra breve, il framework può essere utilizzato immediatamente a meno di non voler installare particolari estensioni richieste per la realizzazione delle proprie applicazioni,
  • fornisce un'alternativa di semplice utilizzo rispetto a librerie complesse e di grandi dimensioni come per esempio la PEAR;
  • date le sue caratteristiche di leggerezza consente di ottenere prestazioni di alto livello senza richiedere un grande dispendio di risorse da parte del sistema;
  • è compatibile con la maggior parte delle offerte hosting disponibili sul mercato, permette di lavorare con PHP 4 o 5 in ambiente Linux o Windows e con Web server Apache o IIS;
  • non costringe ad imparare l'utilizzo di un particolare template engine;
  • non è restrittivo per quanto riguarda le regole relative alla scrittura del codice;
  • permette di lavorare con la maggior parte dei DBMS più utilizzati (MySQL, PostgreSQL etc.);
  • è supportato da una vasta documentazione online.

Naturalmente anche CodeIgniter ha i suoi limiti, alcuni sostengono che questo framework non sia abbastanza attrezzato per la creazione di applicazioni molto complesse come per esempio CMS e EMS; a queste critiche è comunque possibile obiettare che il panorama open source offre già tante soluzioni libere e gratuite destinate al Content Managing (Joomla!, Drupal, WordPress solo per citarne alcune), quindi in molti casi non è necessario doversi dotare di strumenti per reinventare la ruota.

Installazione di CodeIgniter

Come abbiamo più volte ripetuto nel corso di questa trattazione, una delle caratteristiche più interessanti del framework CodeIgniter e la semplicità delle procedure richieste in fase di installazione e configurazione, pochi strumenti dello stesso tipo permettono di essere quasi immediatamente operativi. Chi volesse utilizzarlo dovrà innanzitutto scaricarlo dalla sezione download del sito ufficiale, il framework viene rilasciato gratuitamente sotto forma di un archivio compresso in formato Zip del peso di appena 850 Kb (compresa la vasta guida per l'utilizzatore).

Una volta scaricato il package comprendente le librerie, questo dovrà essere decompresso e caricato nella root del Web server; sul percorso system/application/config/ è presente un file chiamato config.php che potrà essere modificato in base alle caratteristiche del proprio spazio Web.

In particolare sarà necessario valorizzare la variabile $config['base_url'] con l'indirizzo relativo alla cartella di installazione di CodeIgniter; quindi se abbiamo caricato il framework in locale all'interno di una cartella denominata, per esempio, CodeIgniter_1.6.3, la variabile potrà essere valorizzata in questo modo:

$config['base_url'] = "http://localhost/CodeIgniter_1.6.3/";

A questo punto sarà già possibile utilizzare il framework, infatti, potremo ricevere conferma dell'esito dell'installazione recandoci all'indirizzo definito per $config['base_url'] e visualizzare così la pagina di benvenuto di CodeIgniter:

Figura 1
Messaggio di benvenuto

Configurazione di base di CodeIgniter

Se si desidera aumentare la sicurezza relativa alle proprie applicazioni è possibile nascondere la posizione della cartella che contiene i file del core di CodeIgniter (di default chiamata system) rinominandola, utilizzando preferibilmente un nome noto al solo utilizzatore. Per far questo è però necessario modificare il valore relativo alla variabile $system_folder presente nel file index.php di CodeIgniter.

Nello stesso file è presente un'altra variabile, denominata $application_folder, che indica il percorso relativo all'applicazione che desideriamo creare con il framework; di default questa cartella si chiama application, è possibile modificarla passando alla variabile il percorso relativo alla nuova location:

$application_folder = "/path/application";

Di base CodeIgniter è strutturato per gestire una sola applicazione, che dovrà essere costruita all'interno del percorso system/application; in ogni caso è possibile amministrare più applicazioni con una sola installazione del framework. Per far questo è necessario creare delle sotto-cartelle all'interno del percorso indicato (ognuna destinata ad ospitare una singola applicazione) e copiare all'interno di esse le cartelle config, controllers, errors, libraries, models e views.

Così se per caso desiderassimo creare un'applicazione denominata website sarà necessario strutturare la sua directory in questo modo:

system/application/website/
system/application/website/config/
system/application/website/controllers/
system/application/website/errors/
system/application/website/libraries/
system/application/website/models/
system/application/website/views/

Fatto questo il framework sarà pronto per ospitare la nostra nuova applicazione, l'unico accorgimento che dovremo adottare sarà quello di creare un file di index (da denominare come si preferisce a seconda delle esigenze) per ogni applicazione.

Conclusioni

In questo articolo abbiamo introdotto il discorso relativo al framework PHP CodeIgniter basato sul paradigma MVC; tenendo conto delle sue particolari caratteristiche di leggerezza e facilità d'utilizzo, ne sono state elencate le peculiarità e i motivi per i quali è possibile in alcuni casi preferire questa soluzione come alternativa a strumenti più collaudati quali per esempio CakePHP, Zend Framework, Symfony etc.

In occasione della prossima trattazione su CodeIgniter parleremo di come gestire le relazioni con i database nelle applicazioni create attraverso questo framework; nell'attesa si consiglia di consultare l'ottima guida in linea disponibile sul sito ufficiale del progetto.

Ti consigliamo anche