È possibile con symfony2 definire più pattern URL per una singola azione controller usando le espressioni regolari, quindi non è necessario definire più regole? Grazie in anticiposymfony2 usa più pattern url per una singola azione controller usando l'espressione regolare
risposta
Intendi i segnaposto con requisiti?
blog:
pattern: /blog/{page}
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
requirements:
page: \d+
Qui si dispone di più percorsi definiti da un segnaposto, convalidati da espressioni regolari che vanno alla stessa azione di controllo.
Edit:
Ogni parte del URL può essere un segnaposto.
blog:
pattern: /{type}/{page}
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
requirements:
type: blog|articles
page: \d+
Quando si utilizzano le annotazioni, è possibile definire più percorsi. Come quella:
/**
* @Route ("item1")
* @Route ("item/2")
* @Method("GET")
*/
public function itemAction() {
}
sto usando la versione 2.0.9
Questo è davvero interessante, mi piace l'idea di definire i percorsi correlati poco prima di _Action_, ma preferirei mantenere tutto in un solo _routing.yml_ invece di diffondere le mie regole di routing in tutti i miei controller – svassr
Come probabilmente hai il app/console aperta, non dimenticare il router: comando di debug per vedere tutti i tuoi percorsi. Se usi le annotazioni, per impostazione predefinita riceverai nomi ragionevoli per i tuoi percorsi, quindi è abbastanza facile trovare il controller. – cvaldemar
Non è possibile mantenere tutte le rotte in un file quando si utilizzano più pacchetti (quando si includono rotte come risorsa nell'app principale 'routing.yml'), quindi questo non è un argomento per il routing. Le annotazioni sono facili da usare, facili da debugare ('router: debug') e configurabili (è possibile impostare il proprio nome ad esempio:' @Route ("/", name = "homepage") '). – Wirone
NOTE esempio per i percorsi con i parametri:
/**
* @Route("/shops/{page}", name="shops")
* @Route("/shops/town/{town}/{page}", name="shops_town")
* @Route("/shops/department/{department}/{page}", name="shops_department")
*/
public function shopsAction(Town $town = null, Department $department = null, $page = 1)
{ ... }
Poi generazione del percorso in ramoscello in questo modo:
{{ path('shops_town') }}
o
{{ path('shops_town', {'town': town.id}) }}
o
{{ path('shops_department', {'department': department.id}) }}
- 1. Fabbrica singola per più controller?
- 2. Symfony2 + FOSRestBundle: attiva/disattiva la funzionalità REST per controller/azione?
- 3. Symfony2: percorso completo per azione/percorso in un controller
- 4. Best practice per implementare il pattern Factory usando Symfony2
- 5. Symfony2: modo più semplice per ottenere gli URL RESTful
- 6. Ignora controller AutorizzaAttributo per una sola azione
- 7. Generare più destinazioni utilizzando una singola azione/regola
- 8. fortemente tipizzato azione url
- 9. Symfony2: come passare i parametri url querystring ai controller?
- 10. Come abbinare il pattern usando l'espressione regolare in Scala?
- 11. Spring MVC configure url-pattern
- 12. un'espressione regolare per trovare una singola proprietà CSS
- 13. Front Controller vs. Façade pattern
- 14. Come caricare una funzione controller e renderla in un tag twig usando Symfony2?
- 15. Symfony2 traduce URL e routing
- 16. Come sostituire una virgoletta singola (') con una barra rovesciata, quindi virgoletta singola (\') usando sed?
- 17. Creare una nuova azione per il controller esistente
- 18. passano automaticamente Entity per azione controller
- 19. snellimento Symfony2 controller e persistere logica
- 20. Send Email Fuori Action Controller Symfony2
- 21. RealURL: Rimuovi controller e azione dall'URL
- 22. Funzione di costruzione nel controller Symfony2
- 23. espressione regolare per trovare gli URL all'interno di una stringa
- 24. passare una variabile a un URL risorsa Assetic in Symfony2
- 25. Ridimensionare e ritagliare un'immagine utilizzando una singola azione convert()
- 26. Spring MVC: mapping di più URL allo stesso controller
- 27. Generazione di un URL azione in JavaScript per ASP.NET MVC
- 28. Rubino un'espressione regolare per trovare un URL
- 29. Cosa succede se il pattern url corrisponde a più servlet?
- 30. Usando una lente per leggere più campi
risposta @svassr aggiornato – ilanco
cosa succede se voglio avere tipo omittable? Ad esempio, come definiresti un percorso per:/posts/sport/2', 'posts/sport',' posts/2'. Quindi la rotta generica è: '/ posts/{category}/{page}', ma - ovviamente - non funziona con solo valori predefiniti. C'è un modo per dire a symfony come riconoscere se il secondo parametro è string/int? –