Realizzata la base dati dobbiamo passare a creare i moduli che consentiranno all'utente di inserire, modificare ed eliminare i contatti dalla propria rubrica. Dalla shell DOS (sempre nella directory c:wampwwwsf_rubrica) lanciamo il comando:
symfony propel:build-forms
per generare le classi nella directory sf_rubricalibform.
Passiamo a generare i moduli. Se dalla shell DOS, digitiamo:
symfony propel:generate-module --non-verbose-templates --with-show frontend rubrica Rubrica
e
symfony cache:clear
In sf_rubricaappsfrontendmodules troveremo la directory rubrica contenente le action e i template dell'applicazione.
Vale la pena soffermarsi un momento sul comando symfony propel:generate-module e approfondire i suoi argomenti. Un aiuto può esserci dato anche dell'help ottenuto interrogandolo dalla shell DOS con il comando:
symfony help propel:generate-module
In ogni caso diamo un breve commento alla risposta dell'help.
Il comando propel:generate-module genera un modulo Propel:
./symfony propel:generate-module frontend article Article
Il comando crea una directory (article) all'interno di sf_sandboxappsfrontendmodules per la classe specificata (Article).
È anche possibile creare un modulo vuoto che eredita le sue azioni e il template da un modulo generato mentre l'applicativo è in esecuzione (a runtime) nella directory sf_sandboxcachemodulespathModulo (dove pathModulo è il path del modulo generato in maniera automatica, ad es. sf_sandboxappsfrontendmodulesarticle) utilizzando l'opzione --generate-in-cache:
./symfony propel:generate-module --generate-in-cache frontend article Article
Il generatore può utilizzare un tema personalizzato utilizzando l'opzione -theme:
./symfony propel:generate-module --theme="custom" frontend article Article
In questo modo è possibile creare un vero e proprio generatore personalizzato con le proprie convenzioni.
Il gioco, a questo punto è fatto. Basta aprire un browser e digitare l'indirizzo http://localhost/sf_rubrica/web/frontend_dev.php/rubrica per avere la pagina web della rubrica appena sviluppata in modalità "sviluppo", con una barra degli strumenti in alto a destra, oppure http://localhost/sf_rubrica/web/index.php/rubrica per avere la pagina web per gli utenti.