Symfony 2 – Cosa c’è di nuovo? (Parte 1)

Con questo articolo vorrei cominciare una serie di considerazioni sull’evoluzione di uno dei più famosi framework attualmente utilizzato: .

Per chi non lo conoscesse, Symfony è un framework PHP, estremamente utile alla realizzazione di web application PHP che necessitano di una struttura di progetto ben definita e di una serie di strumenti di sviluppo che altrimenti il linguaggio in se non metterebbe a disposizione.

Per questo motivo Symfony aggrega una serie di concetti che di fatto facilitano e velocizzano lo sviluppo di applicazioni rendendole nello stesso tempo robuste e facilmente manutenibili.

Concetti quali:

  • MVC
  • ORM
  • AJAX
  • Components
  • Bundles

 

Dalla 1 alla 2 – STRUTTURA FOLDER

Tutti coloro che, ad oggi, sono abituati alla versione 1, si troveranno di fronte ad una notevole ristrutturazione del framework che, sfruttando le nuove caratteristiche della versione 5.3 di PHP, ha fatto un notevole passo avanti verso la filosofia JAVA.

Symfony 2 organizza il progetto con una struttura di folder molto diversa rispetto alla versione 1. Un esempio possiamo trovarlo di seguito:

 

 

APP Folder

La cartella APP rappresenta l’applicazione che con Symfony 2 diventa unica.
Con Symfony 1 era possibile creare più applicazioni in un progetto, ad esempio “Frontend” e “Backend” e tutto il codice di gestione delle action veniva suddiviso in moduli all’interno della APP folder.

Con Symfony 1 il codice PHP non è più presente in questa cartella, ma la APP folder contiene tutti gli oggetti di base dell’applicazione come ad esempio i file di configurazione, i log, la cache e i template.

SRC Folder

La SRC Folder contiene tutto il codice di gestione dell’applicazione. Il codice con Symfony 2 vive all’interno dei Bundle paragonabili ai Plugin nella versione 1 di Symfony.
I Bundle possono essere paragonati ai Package in Java e rappresentano delle sotto folder all’interno della SRC Folder.
Symfony 2 è in grado di implementare una struttura a Bundle grazie all’introduzione del concetto di “name spacing” implementato nella versione 5.3 di PHP.

Nei prossimi articoli approfondiremo l’argomento Bundle.

VENDOR Folder

La VENDOR Folder accoglie tutte le librerie che rappresentano il CORE del framework e tutte le librerie dei vari PLUGIN utilizzati da Symfony 2 come ad esempio Doctrine, Swiftmailer e Twig

WEB Folder

La WEB Folder non cambia molto rispetto alla versione 1. La differenza più significativa sta nel fatto tutte le risorse web quali (Javascript, immagini e CSS) vengono organizzate in bundle come nel caso del codice.

No comments yet. You should be kind and add one!

Leave a Comment

*

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>