Confronto tra i migliori Framework MVC per PHP (2017)

Il pattern di architettura MVC (e le successive varianti MVVM) negli ultimi anni è stato una rivoluzione nel mondo dello sviluppo in PHP. In particolare su questo pattern sono nati diversi framework che consentono di gestire la complessità architetturale e la scalabilità di progetti di una certa importanza aumentando la produttività e migliorando drasticamente i tempi di realizzazione, consentendo agli sviluppatori di concentrarsi sulle “Core features” del progetto e fornendo “Out of the box” l’implementazione di un codice strutturato e gerarchico in grado di scalare a seconda delle necessità.
Vediamo, ad oggi, quali sono i migliori framework PHP e quali sono i relativi pro e contro.

1) Laravel

PROS
Documentazione eccellente, community vasta e partecipativa
Costantemente aggiornato con miglioramenti e nuove caratteristiche moderne
API Rest out of the box, ORM e Template Engine inclusi

CONS
Bootstrapping e performance (leggermente) più lente di alcuni competitors

2) Symfony

PROS
Ecosistema di plugin molto esteso e community attiva
Debug semplificato con una toolbar di debugging
Eccellente sistema di templating

CONS
Utilizza un ORM esterno (Doctrine) piuttosto pressante in termini di risorse

3) CakePHP

PROS
Sviluppo rapido che segue le regole di “convention over configuration”
ORM e sistema di templating integrati
Grande libreria di classi “helper” e documentazione esaustiva

CONS
Risulta un po’ lento e datato, probabilmente perchè la versione attuale si porta dietro retaggi di codice “vecchio”

4) Yii

PROS
Altamente estensibile e integrato con un framework di test
Forte supporto dalla community e buon numero di plugin sviluppati da terze parti
Standard di sicurezza elevati

CONS
Può essere difficile da digerire per i novizi

5) CodeIgniter

PROS
Semplice da utilizzare e user-friendly per i novizi
Leggero e ben documentato
Templating engine di facile comprensione

CONS
Sente il peso del tempo più di altri
Non è un vero e proprio framework MVC e mancano parecchie funzionalità di base

6) Phalcon

PROS
Il framework più veloce e con le performance migliori
Utilizza un sistema di templating proprietario estremamente rapido e intuitivo
Componenti riutilizzabili come pacchetti stand-alone

CONS
Richiede conoscenze di C/C++ per il debugging

7) Zend Framework

PROS
Il framework più usato dai grandi business, ha alle spalle partnership con Google, IBM, Adobe e Microsoft
Supporta praticamente qualunque tipo di database
Grande libreria standard di classi predefinite

CONS
Documentazione frammentaria e spesso poco chiara

8) Slim

PROS
Ben organizzato e ben documentato
Comprende un sistema di “hooks” per eseguire il codice in punti differenti durante il ciclo di vita dell’applicazione
Gestione dei middleware ben strutturata

CONS
Non un vero e proprio framework MVC ma un micro-framework; non comprende dunque tutte le caratteristiche che hanno i competitor

In conclusione non esiste la scelta giusta o sbagliata in relazione all’utilizzo generico di un framework PHP. Dovrebbe valere anche in questo caso il dictat “use the right tool for the right job” che anche in questo contesto dovrebbe guidarvi verso la scelta del framework migliore in relazione alle vostre esigenze.