Symfony: scaffolding o administration
Programmazione Saturday 21 June 2008 alle 19:22Symfony, ormai noto framework per lo sviluppo di applicazioni web, tra le tante funzioni messe a disposizione degli utenti, fornisce Generatori (a cui viene dedicato l’intero capitolo 14 di “The definitive guide to Symfony”, libro acquistabile su carta stampata o anche consultabile direttamente online) per due differenti metodi di “managing” dei dati.
I generatori messi a disposizione dal symfony-project sono:
- generatori per lo scaffolding
- generatori per l’amministrazione
Potremmo dire, in maniera molto semplice che gli scaffolding module vengono creati ad uso e consumo degli sviluppatori, mentre il modulo backend per l’amministrazione viene creato per l’utente finale. Lo scaffolding code è modificato manualmente, mentre i pannelli di amministrazione vengono modificati attraverso i documenti di configurazione e l’ereditarietà delle classi.
Generatori per lo scaffolding
Lo scaffolding è la generazione della struttura di base (actions e templates) richieste per gestire ed eseguire un’interfaccia CRUD. Il codice di scaffolding è minimale e va visto come codice di partenza per la creazione delle vostre applicazioni.
Non a caso, il termine scaffolding è stato utilizzato, come si dice su Wikipedia,
metaforicamente per indicare quelle strategie di sostegno ai processi di apprendimento che consentono di svolgere un compito sebbene non si abbiano ancora le competenze per farlo in autonomia, quindi di riuscire nel compito grazie all’aiuto di un esperto, di un adulto o di un pari più preparato che ci fornisce indicazioni e suggeriment
Ecco quindi che l’utilizzo del generatore di scaffolding andrebbe utilizzato per creare rapidamente tutte le funzioni di accesso web ai dati della base di dati, in particolar modo durante le prime fasi di creazione di un’applicazione.
Per generare questa impalcatura (scaffolding) in symfony si utilizza la chiamata alla funzione
> symfony propel-generate-crudnome_applicazionenome_moduloNomeClasse > symfony propel-init-crudnome_applicazionenome_modulo NomeClasse
dove NomeClasse è la definizione dei dati inserita nel file schema.yml.
Generatori per l’amministrazione
La generazione dell’amministrazione (tipicamente chiamata backend administration) è la creazione di una sofisticata interfaccia per la gestione dei dati. La presentazione è enfatizzata per il codice di amministrazione (vis-a-vis scaffolding code). Vengono offerti metodi per l’ordinamento, la paginazione, filtri e altre features tipicamente utilizzate nelle interfacce di amministrazione.
Oltre a queste funzioni, tutte le funzioni di CRUD (creazione, visualizzazione, aggiornamento e cancellazione dei records) vengono implementate correttamente.
La generazione di questa intera area backend è in “mano” alla funzione
> symfony init-appnome_applicazione> symfony propel-init-adminnome_applicazionenome_moduloNomeClasse