Feature ed utility
In quanto Framework PHP professionale ed open source, Code Igniter garantisce le seguenti caratteristiche:
- semplifica la vita dello sviluppatore con una serie di strumenti (classi, metodi e funzioni) utili all'organizzazione, alla gestione ed allo sviluppo di un'applicazione Web dinamica e moderna;
- permette di avere una struttura comune tra varie applicazioni Web;
- si occupa internamente e implicitamente della sicurezza dell'applicazione (input, output, mail..).
Nello specifico, Code Igniter offre una curva di apprendimento minimale, specialmente se paragonata a quella di altri framework più complessi come Zend Framework. Code Igniter inoltre offre le seguenti caratteristiche:
- peso e struttura a cartelle (footprint) minimali;
- performance e velocità di esecuzione notevoli;
- compatibilità con una moltitudine di versioni (e configurazioni) PHP;
- procedura di configurazione minima che richiede pochissimo tempo;
- non è richiesto l'utilizzo della linea di comando;
- non sono necessarie regole ferree e restrittive nello stile di programmazione;
- non forza lo sviluppatore ad utilizzare un templating language;
- una buona gamma di utility;
- documentazione ufficiale ben nutrita e una comunità molto attiva.
Le utility già incluse nel pacchetto standard di Code Igniter sono:
- classi dedicate alla connessione/gestione dei Database;
- supporto per Query Builder;
- classi per la validazione dei Form e dell'Input;
- filtri XSS;
- Session Management;
- classe
Email
; - libreria per la manipolazione di immagini. Supporto per GD, ImageMagick e NetPBM;
- File Uploading;
- FTP;
- localizzazione;
- paginazione;
- crittografia;
- benchmarking;
- caching;
- Error Logging;
- Application Profiling;
- classe
Calendar
; - classe
User Agent
; - classe
Zip Encoding
; - classe per il Template Engine;
- classe per il Trackback;
- libreria XML-RPC;
- classe Unit Testing;
- supporto per gli Hooks e l'estensione delle classi;
- collezione di funzioni Helpers.
Code Igniter si avvale della struttura MVC (Model-View-Controller), un Design Pattern o paradigma di gestione della struttura del progetto tipico dei Framework PHP. In parole molto brevi, la struttura MVC permette di dividere un progetto in 3 zone principali differenti ma interconnesse tra loro (anche se in totale esistono più zone):
- Controllers, le classi che fanno da ponte tra utente e browser, e "chiamano" Models e Views.
- Models (Modelli), classi che contengono la logica di programmazione, come ad esempio la connessione al database, il recupero o l'inserimento dati, o qualsiasi logica PHP che non sia la gestione della struttura o l'output HTML/CSS finale.
- Views (Viste), la parte visibile all'utente, chiamata e generata dalla struttura dei Controllers. Una View è molto spesso una pagina HTML o una sezione di una pagina HTML.
Code Igniter utilizza estensivamente il paradigma MVC, ma lo fa in una modalità personalizzata e semplificata rispetto alla norma. Vedremo come.
Requisiti di Code Igniter
Essendo un Framework PHP, i requisiti per lavorare con Code Igniter e generare applicazioni Web sono i seguenti:
- conoscenza della struttura HTML;
- conoscenza del linguaggio PHP Orientato agli Oggetti (OOP). Questo punto è fondamentale, dato che tutta la struttura di Code Igniter si basa sulle Classi e sull'utilizzo di proprietà e metodi specifici.
- opzionale: saper strutturare e gestire un file
.htaccess
, conoscere la dinamica SQL per le query, conoscere le problematiche legate alla sicurezza degli input e alla generazione dell'output
Nella prossima lezione, vedremo come installare Code Igniter e passare all'azione.