PHP  »  Articoli  »  Framework 

CakePHP: il framework completo

di: Ciro Marotta     10 Febbraio 2012

Questo articolo fa parte di una serie dedicata alla comparazione di Framework PHP.

Il nome un po’ "giocoso" di questo framework (Cake significa 'torta') non deve trarre in inganno. CakePHP si presenta come un framework dalle molteplici potenzialità. In esso sono incluse tutte le funzionalità incontrate nei framework analizzati in questo articolo. Dal pattern MVC, all’Active record, senza dimenticare validazione e altre utility. La versione analizzata e utilizzata nell’articolo è la versione 2.05 che, nel momento in cui scrivo, è l’ultima release stabile. Questa versione supporta Php a partire dalla versione 5.2.6 o successive e MySQL a partire dalla versione 4.  

Installazione

L’installazione del framework è abbastanza semplice e intuitiva. È sufficiente infatti caricare in una cartella del server i file che abbiamo scaricato. All’interno della cartella dovremmo quindi trovare una cartella app che è quella che effettivamente contiene la nostra web application o il sito web. Ci sono diversi file di configurazione che ci consentono con pochi passaggi di configurare in modo semplice e rapido la nostra applicazione.

Pattern MVC

Come è facile immaginare CakePHP implementa il pattern MVC. Infatti sotto la cartella app è possibile individuare le tre sottocartelle dedicate allo scopo. Utilizzando le convenzioni dei nomi consigliate dal framework, l’utilizzo del MVC diviene estremamente semplice.

Il controller all’interno di CakePHP è una classe che estende AppController. All’interno di esso vengono definite le varie azioni semplicemente definendo metodi che abbiano il nome dell’azione desiderata. La cosa interessante è che, seguendo appunto le indicazioni sulla nomenclatura, il nome del model è automaticamente reso disponibile tra le proprietà del controller.

Anche le viste sono semplici e intuitive. Sì tratta di semplici file php nei quali vengono immerse le variabili valorizzate nell’azione del controller che la richiama.

L’ultima parte è rappresentata dal model che, nel caso specifico, estendendo appModel, è una sorta di Active record. Infatti i model creati in questo modo espongono metodi che ci consentono di effettuare le operazioni CRUD più comuni. Da segnalare che CakePHP mette a disposizione uno strumento che consente di generare automaticamente il model. L’ultima versione del framework sfrutta le potenzialità di PDO ,a patto che questo sia installato sul nostro server.

Database

Come spiegato nel paragrafo precedente, la manipolazione dei dati è affidata ai model del MVC. Sfogliando la documentazione di CakePHP ci si rende conto che MySQL non è il solo database con cui è possibile collegarsi. Sono disponibili metodi per le connessioni anche Mssql, Oracle e per finire SQLite. Sfruttando le classi appare evidente di come sia possibile lavorare coi database anche senza passare per il model.

Validazione

La validazione è strettamente implementata all’interno dei model. Infatti ci sono i relativi metodi che consentono di filtrare i dati ricevuti dall’utente prima di passarli al database. Anche sotto questo punto di vista CakePHP risulta essere efficiente. Sono presenti metodi per effettuare i controlli più comuni sui dati quali ad esempio, la lunghezza, l’obbligatorietà la mail ed altri. Altri framework presentano più opzioni ma non per questo mi sento di attribuire un valore negativo a quest’aspetto del framework.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti