¿Es posible con Symfony2 definir múltiples patrones de url para una sola acción de controlador usando expresiones regulares, entonces no tenemos que definir varias reglas? Gracias de antemanosymfony2 usa el patrón de url múltiple para una sola acción de controlador usando la expresión regular
Respuesta
¿Se refiere a marcadores de posición con requisitos?
blog:
pattern: /blog/{page}
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
requirements:
page: \d+
Aquí tiene varias rutas definidas por un marcador de posición, validadas por expresiones regulares que van a la misma acción del controlador.
Editar:
Cada parte de la URL puede ser un marcador de posición.
blog:
pattern: /{type}/{page}
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
requirements:
type: blog|articles
page: \d+
Al usar anotaciones, puede definir múltiples rutas. Al igual que:
/**
* @Route ("item1")
* @Route ("item/2")
* @Method("GET")
*/
public function itemAction() {
}
estoy usando la versión 2.0.9
Eso es realmente interesante, me gusta la idea de tener las rutas relacionadas definidas justo antes de una _Acción_, pero preferiría mantener todo en un solo _routing.yml_ en lugar de extender mis reglas de enrutamiento en todos mis controladores – svassr
Como probablemente tenga el aplicación/consola abierta, no olvide el enrutador: comando de depuración para ver todas sus rutas. Si usa anotaciones, obtendrá nombres razonables para sus rutas de manera predeterminada, por lo que es bastante fácil encontrar el controlador. – cvaldemar
No es posible mantener todas las rutas en un archivo cuando utiliza varios paquetes (cuando incluye rutas como recurso en la aplicación principal 'routing.yml'), por lo que este no es realmente un argumento para el enrutamiento. Las anotaciones son fáciles de usar, fáciles de debug ('router: debug') y configurables (puede establecer su propio nombre, por ejemplo:' @Route ("/", name = "homepage") '). – Wirone
Anotaciones ejemplo para rutas con los parámetros:
/**
* @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)
{ ... }
luego generar ruta en rama como esto:
{{ path('shops_town') }}
o
{{ path('shops_town', {'town': town.id}) }}
o
{{ path('shops_department', {'department': department.id}) }}
- 1. coincide con el patrón de url en php usando la expresión regular
- 2. Expresión regular para la URL
- 3. grupo de varias coincidencias para una sola expresión regular
- 4. Intentando crear una expresión regular para verificar el patrón - 2
- 5. ¿Expresión regular para encontrar una expresión regular?
- 6. ¿Cuál es la expresión regular para una URL como esta?
- 7. Expresión regular para buscar + reemplazar href = "URL"
- 8. ¿Qué expresión regular usan los navegadores para el tipo de entrada HTML5 = url?
- 9. ¿Qué algoritmo de expresión regular usa PHP?
- 10. Expresión regular, reemplace barras múltiples con una sola
- 11. PHP expresión regular para reemplazar enlace url
- 12. Expresión regular de Javascript para validar la URL
- 13. ¿Hay una expresión regular para detectar una expresión regular válida?
- 14. Rubí Expresión regular para que coincida con una dirección URL
- 15. Overriding controller AuthorizeAttribute para una sola acción
- 16. expresión regular para que coincida con el URL
- 17. Generar direcciones URL utilizando T4MVC en una acción de controlador
- 18. expresión regular para encontrar el URL en un texto
- 19. Expresión regular URL de Gruber en Python
- 20. Expresión regular: cualquier texto para ser amigable con la URL
- 21. Validación XML utilizando XSD con el patrón de expresión regular
- 22. Expresión regular para el repositorio de git
- 23. Obtener la URL completa para un controlador y acción?
- 24. Symfony2 + FOSRestBundle: ¿Habilita/deshabilita la funcionalidad REST por controlador/acción?
- 25. Devolución de múltiples vistas parciales de una sola acción del controlador?
- 26. Uso de la expresión regular para encontrar una coincidencia exacta de patrón en Ruby
- 27. Expresión regular para extraer URL de un enlace HTML
- 28. Filtro profanidad usando una expresión regular (lista de 100 palabras)
- 29. Renombrar archivos usando una expresión regular con la fiesta de
- 30. ¿Puede habilitar [Autorizar] para el controlador pero desactivarlo para una sola acción?
respuesta @svassr actualiza – ilanco
¿y si quiero tener el tipo omitirse? Por ejemplo, ¿cómo definirías una ruta para: '/ posts/sport/2',' posts/sport', 'posts/2'. Entonces, la ruta genérica es: '/ posts/{category}/{page}', pero obviamente no funciona solo con los valores predeterminados. ¿Hay alguna manera de decirle a Symfony cómo reconocer si el segundo parámetro es string/int? –