Ci piace CRUD - part 2
Nel mio precedente articolo Ci Piace CRUD avevo nominato il tool detto POG, disponibile on-line www.phpobjectgenerator.com.
Ho avuto modo di testarlo, ed aggiungo quindi due parole.
Primo
avevo detto che si trattava di un tool minimale… in realtà il tool è piuttosto completo. Funziona così:
- Si definisce il modello specificando nel form il modello della tabella
- Si genera il codice, e si scarica il file zip di tutti i file realizzati
- Si scompattano i file sulla directory base della nostra applicazione web
- Si cambia il file di configurazione per l’accesso al DB
- Si fa girare la procedura di setup, che crea le tabelle e testa gli oggetti generati
Secondo
Personalmente nutrivo vari dubbi sull’effettiva utilità di questo modo di fare, ma ho trovato risposta alle mie principali domande nei tutorial del sito (ci sono anche un blog di news e tecniche vari, esempi di codice, una community a cui eventualmente chiedere aiuto):
- Che succede se un domani gli oggetti di cui ho bisogno cambiano?
E’ molto semplice. Dalla pagina di setup generata ll’interno del nostro sito, basta seguire il link apposito per tornare alla definizione del modello. Effettuiamo le modifiche necessarie, generiamo lo zip, sovrascriziamo il file della classe sul notro sito web e facciamo di nuovo girare lo script che allinea il db agli oggetti. Funziona. - Il mio modello di riferimento è complesso. Comprende molteplici tabelle legate da relazioni. Può POG gestire tutto ciò?
POG può. Bisogna avere la cura di specificare la relazione aggiungendo un campo di tipo “PARENT”, “CHILD” o “SIBLING” in tutte le tabelle coinvolte, ed il gioco è fatto. Pod genera anche metodi aggiuntivi per reperire gli oggetti delle tabelle collgate. Nella fase di allineamento al db, tutte queste relazioni vengono testate, ed eventuali errori di configurazione rilevati. Bene! - OK. Ora ho una serie di oggetti utili come DAO (data access object) con tutti i metodi CRUD (create, retrieve, update, delete). Posso generare anche l’html necessario come interfaccia a questi oggetti?
No. Pog non genera form e tabele html d’interfaccia. Il suo compito finisce con la generazione di oggetti. Forse in una prossima release si aggiungerà questa (agognata da tutti) funzionalità, in modo che lo sviluppatore non debba realizzarle da zero… ma per ora… nulla.
Bene. Sono soddisfatto di POG, ma sto ancora cercando un tool per la generazione delle interfacce HTML dati gli oggetti o data la definizione del DB. Non voglio un framework… solo un tool… Qualcosa di utile c’è… magari tra qualche giorno scriverò anche “Ci Piace CRUD - part 3″.
Se avete suggerimenti commentate questo post.
15 Giugno 2007 | Quota
[…] Questo articolo continua: Seconda Parte […]
14 Giugno 2007 | Quota
Ciao omonimo e collega nel lavoro e nel gioco a quanto pare
Grazie del commento e del suggerimento: mi hanno già parlato bene di Symfony, che però personalmente non ho (ancora) mai utilizzato.
So che fa tra l’altro fa scaffolding e generazione delle funzioni CRUD, compresa l’interfaccia.
Il tool (POG) che ho usato qui non è così completo: l’unico vantaggio è che si tratta solo un tool, non un framework, un approccio meno invasivo se si deve intervenire ad esempio, per aggiungere una nuova sezione in un sito web già in produzione.
Grazie della visita e ci sentiamo sicuramente presto.
14 Giugno 2007 | Quota
Caro omonimo,
arrivo per la prima volta su questo tuo blog dal forum di DL e subito trovo un bellissimo articolo, utile ed interessante. Probabilmente facciamo lo stesso lavoro! ^_^
Visto il tema dell’articolo, ti segnalo (se già non lo conosci) il framework Symfony. Non c’è molto da dire che non sia sul sito, in forma di podcast, documentazione o articoli vari. Ti consiglio anche il libro in versione stampata, molto comodo da leggere ma comunque interamente disponibile online in html!
Spero d’averti fatto gesto gradito! Ci vediamo qui o sul forum!
PS: aggiungo al volo il tuo blog ai miei contatti sul mio. Mi piace molto, complimenti!!