paolo@bimodesign.com | +34 608 61 64 10

Framework

        

CodeIgniter: Primi passi ed Auth Controller

La sua facilita' d'apprendimento e la sua leggerezza, hanno fatto si' che CodeIgniter risulti uno dei frameork piu' usati tra gli sviluppatori PHP, considerando comunque che Symphony (nella vers. 2) e Zend, risultano comunque quelli piu' completi.
Nell'articolo che segue vi illustrero' come installare e configurare da zero l'ambiente codeIgniter e poi come creare un controller per l'autenticazione.
Nota: In questo e nei seguenti articoli, non mi soffermero' sul concetto di MVC (Model-View-Controller), che considero gia' di conoscenza del lettore.

Passo I: Installazione e configurazione di base

Innanzitutto occorre scaricare l'ultima versione (2.1) del framework, direttamente dal sito ufficiale http://codeigniter.com/
Come indicato nella guida ufficiale scompatteremo il file .zip nella nostra $HOME rinominando opportunamente la dir principale. Ad esempio, la chiameremo "cms".
Apriamo il file di configurazione application/config/config.php ed modifichiamolo in questo modo, inserendo la URL del sito web.

$config['base_url']	= 'http://localhost/cms/';

ed aggiungiamo anche una chiave di criptazione, per poi utilizzare la libreria per la gestione delle SESSION

$config['encryption_key'] = 'Ce6hS2jm8BqAZ4jaJ4';

Creiamo il nostro database (nel mio caso MySQL, ma si possono usare anche Posgres o Oracle)

Quindi modifichiamo i parametri presenti nel file application/config/database.php

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'asdfgh';
$db['default']['database'] = 'cms';
$db['default']['dbdriver'] = 'mysql';

Passo II: Installazione dell'Authentication Controller
A differenza degli altri framework, come ad esempio Zend, CodeIgniter non presenta un controller di autenticazione gia' pronto, ma come sapete sul web le risorse sono (quasi) infinite e quindi ne utilizzeremo una di queste.
Scarichiamo il codice completo di Benedmundsdirettamente da Git

Scompattiamo quindi il file in una directory diversa da quella della home del CMS e copiamo quindi i vari file, rispettando la struttura indicata. In particolare copiare tutta la dir languages

Quindi creare le tabelle per la gestione degli utenti, comprensive delle insert di prova. I file sono presenti nella dir sql del pacchetto.
In particolare creeremo l'utente
Username: admin@admin.com
Password: password
per accedere.

Nota: Ricordare di applicare opportunamente l'MD5 o SHA1 per la verificare della password, ed inoltre applicare le appropriate misure di sicurezza per prevenire, ad esempio, l'sqlInjection, etc...

Ci siamo quasi... manca l'ultimo dettaglio.

Primo, dobbiamo "caricare" la nuova libreria allo startup del sito. E per fare questo modifichiamo il file application/config/autoload.php in questo modo

$autoload['libraries'] = array('database','session','user_agent','ion_auth');

notare che oltre alla classe ion_auth abbiamo aggiunto alcune librerie standard.

Infine, dobbiamo indicare che il percorso di default all'avvio deve essere proprio il controller auth.
Per fare cio' modifichiamo il file application/config/routes.php in questo modo

$route['default_controller'] = "auth";

sostituendo quindi a "welcome" il controller che abbiamo appena installato.

Ora provate ad accedere al sito, indicando chiaramente la login/password corretta :)

Nei prossimi articoli, illustrero' come creare una form per l'inserimento, la modifica e la cancellazione.