Yo considero ampliamente pues mi lógica me indica que es mejor .yml de hecho es lo que me gusta de Symfony. Pero en la sección de buenas prácticas hablan de annotation. No me queda claro. Quizás tenga una ventaja de la que no me entero. Con una simple respuesta '.yml' o 'annotation' me conformo.
Respuestas
Lo primero: no importa qué formato utilices. Los dos funcionan igual, tienen las mismas características y su rendimiento es exactamente el mismo (porque los dos se transforman en código PHP antes de ejecutarse).
Mi recomendación es usar anotaciones. El motivo es que tengo la información de la ruta exactamente donde la necesito, al lado del controlador asociado. Si defines las rutas en archivos YAML, tienes que andar abriendo varios archivos, buscando la ruta, etc. La comodidad que te dan las rutas en insuperable.
@javiereguiluz
No es que yo sea cerrado pero si las rutas nunca se tocan por lo menos no es lo usual lo cómodo que te da poniéndola ricamente te lo quita estar trabajando en los controladores y encima tener puesto 10mil anotaciones de rutas y permiso. Sin quitar que si quisieras un día ofuscar el controlador te da problemas.
De todas maneras usted es que sabe y de verdad puede ser que siga su practica porque nunca se ha equivocado y aunque no lo veo asumo q tiene razón. Muchas gracias saludos.
@jdvellon
Curiosamente, hace poco, estuve charlando con mi jefe sobre este tema el opinaba que lo mejor era ponerlos en un fichero aparte, porque casi no se modifica y yo en cambio prefiero que sea mediante anotaciones porque me es mucho más cómodo porque tengo la ruta y justo debajo el código que se ejecuta y lo veo todo de un vistazo.
Mi respuesta es sencilla, hazlo como te sientas más cómodo excepto si tu jefe dice otra cosa, en mi caso el que paga manda.
Un saludo
@TsubasaAkai
@TsubasaAkai tu jefe tiene razón en que las rutas cambian poco. Pero por otra parte, las rutas se leen muchísimo. Por ejemplo, cuando hay cualquier error en la aplicación, te interesa ver tanto el controlador como la ruta. La razón es que puede ser la ruta la que esté mal (falta algún parámetro, los nombres de los parámetros no son los correctos, los métodos HTTP permitidos no son los correctos, etc.)
@javiereguiluz