.: HosiriS :.

Informatica e non solo

Symfony: giorno di studio!

Posted by hosiris su aprile 20, 2010

Avete giocato un pò col codice? io mi sono sbizzarito un po’, ho fatto danni, ho dovuto ricominciare il progetto da capo… ma comunque spero abbiate notate che l’applicativo si può dire pronto. Certo è brutto, poco efficiente… e soprattutto lontane dalle specifiche che abbiamo definito ad inizio progetto, per questo tutto il lavoro che svolgeremo da adesso serve ad affinare il risultato.
Anzicchè scrivere oggi vi rimando a questo link, il motivo è molto semplice (e duplice): odio copiare ed inoltre è scritto molto bene già lì (perchè cercare di riscrivere?). Vi consiglio di leggerlo con calma, ci ho messo un po’ a comprenderne le dinamiche, ma una volta imparato non lo si dimentica più.

Farò invece degli esempi di applicazione della gestione delle rotte, solo per modificare un po’ l’aspetto dell’url.
Innanzitutto voglio fare in modo che quando accedo alla home del progetto non mi appaia il riquadro di benvenuto di symfony, ma la home di todo (il nome del progetto è orrendo… me ne devo inventare uno carino). Se avete letto la guida saprete che il file di configurazione si trova in apps/frontend/modules/todo/config/routing.yml, quindi apriamo il file e modifichiamo:


homepage:
  url: /
  param: { module: default, action: index }

in:


homepage:
  url: /
  param: { module: todo, action: index }

pulite la cache con ./symfony cc e da adesso per accedere alla home sarà sufficiente digitare http://todo/frontend_dev.php. Inoltre voglio modificare l’url in modo che quando clicco su una attività, mi appaia il nome dell’attività nell’indirizzo.
Modifichiamo sempre il file di routing, aggiungendo:


todo:
  url: /todo/:name
  param: { module: todo, action: show }

il fatto di aver messo :name implica l’aver inserito una variabile nell’url, non resta che dare un valore a questa variabile, quindi modifichiamo l’azione indexSuccess per fare in modo che venga passata la giusta variabile all’url:


// apps/frontend/modules/todo/templates/indexSuccess.php
...
<?php echo url_for('todo/show?id='.$todo-getId().'&name='.$todo->getName()) ?>
...

riaggiornate la cache, e provate a navigare tra le attività, noterete come nell’indirizzo apparirà il nome dell’attività.
Ci sono una marea di altre cose che è possibile fare. Leggendo la guida riuscirete a modificare ogni cosa a vostro piacimento.

Buona rotta.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: