quando si parla di framework, la prima domanda che sorge spontanea è: perché un framework
Ecco alcuni motivi per scegliere un framework. La seconda domanda, di solito, è: quale framework? Ho scelto questa slide proprio per sottolineare che non è così importante quale framework si scelga, purché se ne usi uno.
Symfony nasce nel 2007 e si evolve nel corso degli anni. L'anno scorso è stata rilasciata la prima versione stabile del nuovo Symfony 2.0, un framework totalmente nuovo
Ma perché questa scelta? Il primo motivo è il passaggio da PHP 5.2 a PHP 5.3
Il secondo motivo è che symfony 1 era troppo monolitico, un framework troppo full stack
Il terzo motivo è che symfony 1 si basava su alcuni pattern, come per esempio singleton e active record, che sono ormai considerati superati
Il quarto e ultimo motivo è che symfony 1 si basava troppo su una sola persona
Sappiamo tutti quanto sia importante oggi la responsività di un'applicazione. Symfony è stato concepito sin dall'inizio per essere veloce e per consumare meno risorse possibile. È circa 3 volte più veloce della versione 1 e occupa all'incirca la metà della memoria
L'uso del DIC e di un sistema di eventi rendono Symfony completamente adattabile a qualsiasi esigenza. Si può avere un framework full-stack, oppure usare solo alcuni componenti, o ancora creare un proprio framework (o anche un microframework, vedi Silex)
Symfony ha una grande capacità di essere espandibile. Il suo sistema di bundle consente non solo di riusare il codice scritto, ma anche di modificare e usare il codice scritto da altri, finanche il core stesso di Symfony. Inoltre la documentazione consiglia di usare bundle anche nello sviluppo delle proprie applicazioni
Stabilità e sostenibilità sono un altro punto di forza di Symfony. Le versioni maggiori hanno un supporto di 3 anni, mentre un sottoinsieme di API è stato dichiarato "stabile" e non cambierà nemmeno tra le versioni minori.
Facile. Symfony è facile da usare. L'utilizzo di pattern e best practice, insieme all'ampia documentazione e a una community con grande partecipazione, mettono in grado anche l'utente alle prime armi di usare questo framework
Una nota aggiuntiva sulla documentazione: è stata completamente tradotta in Italiano!
Diamo infine qualche numero relativo ad alcuni indicatori del progetto su github: il numero di watcher e il numero di fork, per entrambi i quali Symfony è il primo progetto PHP