CakePHP: un framework completo per lo sviluppo di applicazioni web.

CakePHP è nato nel 2005, per mano di Michal Tatarynowicz che iniziò a scrivere un framework per lo sviluppo rapido di applicazioni in PHP.

Il framework venne pubblicato sotto licenza MIT, chiamandolo Cake, e venne aperto verso una comunità crescente di sviluppatori.

Il nome “giocoso” Cake, che significa “torta” non deve trarre in inganno, in quanto si tratta di uno strumento estremamente potente che permette di velocizzare lo sviluppo di applicazioni web, semplificando il modo in cui ci si interfaccia al database.

È ispirato ai concetti che stanno alla base del framework Ruby on Rails, anche se Cake non è una copia di Rails, piuttosto, si può affermare che ne ricalca i principi di base, uniti alla potenza ed alla diffusione del linguaggio di programmazione PHP.

Uno dei principi di Cake è “conventions over configurations”, in altre parole seguendo le convenzioni non sarà – o quasi – necessario intervenire sui file di configurazione. Questo permette allo sviluppatore di focalizzarsi sulla realizzazione del software e come conseguenza lo sviluppo sarà più rapido.

Il termine “framework”, significa struttura e nello sviluppo software, è un’architettura logica di supporto ovvero sia, una implementazione logica di uno specifico design pattern su cui un software può essere realizzato.

Design Pattern

CakePHP è basato sul design pattern Model-View-Controller (MVC), in informatica, è un pattern architetturale molto diffuso in particolare nell’ambito della programmazione orientata agli oggetti, in grado di separare la logica di presentazione dei dati dalla logica di business.

Ciclo di gestione delle richieste di CakePHP

Alcune delle features che CakePHP fornisce allo sviluppatore:

Database
La manipolazione dei dati è affidata ai model del MVC. MySQL non è il solo database con cui è possibile collegarsi. Sono disponibili metodi per le connessioni anche Mssql, Oracle, MongoDB e per finire SQLite.

Validazione
La validazione è 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. Sono presenti metodi per effettuare i controlli più comuni sui dati quali ad esempio, la lunghezza, l’obbligatorietà, la verifica degli mx record per validare le email e cosi via.

Ajax e JavaScript
Sono presenti alcune classi che facilitano la scrittura di codice JavaScript e Ajax.

Caching
Mette a disposizione numerosi motori per la cache delle informazioni. Sì tratta di quelli più comuni da APC a Memcache, Redis e cosi via.

Autenticazione
Sono presenti all’interno del sistema delle librerie che consentono oltre che la gestione dell’autenticazione anche il controllo dei ruoli.

Internazionalizzazione e localizzazione
Rende possibile trasformare un testo in un’altra lingua in maniera piuttosto semplice.

CakePHP è uno strumento indispensabile per lo sviluppo lato server di applicazioni web da noi prodotte, qualora desideri ricevere ulteriori dettagli su ciò che questo framework può offrire visita il sito https://cakephp.org/ e scopri come mettere in pratica i paradigmi di programmazione introdotti attraverso la guida quick start disponibile al link https://book.cakephp.org/3.0/en/quickstart.html