Per realizzare la nostra prima applicazione basata su Symfony ci appoggeremo alla sandbox. Ne abbiamo già parlato in precedenza: si tratta di una semplice raccolta di documenti che raccoglie tutte le librerie necessarie per il funzionamento del framework.
L'utilizzo della sandbox non è consigliabile in fase di produzione, ma risulterà molto comodo in sede di sviluppo perché richiede una procedura di istallazione e di configurazione minimale.
Per una prima applicazione basata su Symfony realizzeremo un semplice blog destinato a contenere articoli e relativi commenti; come passo iniziale dovremo creare un file denominato schema.yml da salvare nella directory sf_sandbox/config/, questo file dovrà contenere il codice seguente:
propel:
weblog_post:
_attributes: { phpName: Post }
id:
titolo: varchar(255)
testo: longvarchar
body: longvarchar
created_at:
weblog_comment:
_attributes: { phpName: Comment }
id:
post_id:
autore: varchar(255)
email: varchar(255)
body: longvarchar
created_at:
È fondamentale tenere conto che lo schema di dati proposto viene espresso attraverso una particolare sintassi detta YALM e utilizzata nell'omonimo linguaggio destinato alla creazione di strutture ad albero; nella sintassi YALM l'indentazione ha un significato ben preciso in cui gli spazi non vengono utilizzati a caso ma rappresentano la gerarchia interna dei dati, inoltre, non è possibile introdurre tabulazioni.
Grazie allo schema creato viene descritta la struttura delle tabelle (chiamate Post e Comment) che verranno utilizzate per la memorizzazione dei contenuti inseriti tra le pagine del blog; i nomi delle due tabelle utilizzate saranno anche quelli delle classi che verranno generate al momento dell'inizializzazione del model.
Una volta salvato il file schema.yml nell'apposita directory dovremo passare ad una breve fase dedicata alla linea di comando; apriremo quindi la nostra interfaccia testuale e raggiungeremo la directory (sf_sandbox/) contenente la sandbox per poi digitare:
$ symfony propel-build-model
A meno di imprevisti questa istruzione si dovrebbe risolvere con la creazione di alcune classi situate all'interno della directory sf_sandbox/lib/model/, queste ultime consentono di accedere ad un database relazionale interrogabile tramite linguaggio orientato agli oggetti senza dover ricorrere a query in SQL; a questo scopo il framework utilizza una particolare libreria chiamata Propel, nella directory sf_sanbox/config è infatti possibile reperire il file propel.inidestinato alla configurazione di questa libreria.
Lasciamo aperta la schermata della shell perché dovremo riutilizzarla immediatamente, il prossimo comando da digitare sarà infatti:
$ symfony propel-build-sql
A questo punto verrà generato il documento denominato schema.sql salvato all'interno della directory sf_sandbox/data/sql/, attraverso di esso sarà possibile inizializzare un database avente la medesima struttura rispetto a quella definita all'interno dello schema; per rendere più semplice il nostro lavoro ci appoggeremo però ad un file di SQLite, in questo modo non dovremo inizializzare alcun database, cosa che succederebbe invece se dovessimo interfacciare la nostra applicazione con un DBMS più complesso come MySQL o PostgrSQL.
sf_sandbox integra un database di default denominato sandbox.db e reperibile all'interno della directory sf_sandbox_data, in esso dovremo costruire la struttura delle nostre tabelle attraverso la digitazione del seguente comando.
$ symfony propel-insert-sql
Questa istruzione potrebbe generare delle notifiche di errore, fortunatamente esse non sono riferite a problematiche che potrebbero pregiudicare la buona riuscita della nostra applicazione; molto più semplicemente il comando utilizzato ha anche il compito di cancellare eventuali tabelle già presenti all'interno di shema.sql, la loro assenza è dunque all'origine delle segnalazioni di errore.
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Zend FrameworkDiventate professionisti dello sviluppo Web. Zend Framework è lo... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |