2017-02-14 3 views
1

У меня есть мои маршруты, определенные с помощью аннотаций в моем приложении SF2, однако есть несколько страниц, которые, хотя у них есть отличный маршрут и шаблон Twig, им не нужен код контроллера, который приводит к пустым методы, такие как:Маршрут Symfony 2 без специального кода контроллера

/** 
* @Route(
*  "/courselimit", 
*  name = "course_limit" 
*) 
* @Template("CRMPiccoBundle:Course:Limit.html.twig") 
* 
* @param Request $request 
* 
* @throws \Exception 
*/ 
public function courseLimitAction(Request $request) 
{ 
} 

Это для меня кажется бессмысленным и беспорядочным. Есть ли способ избежать этого в SF2 без преобразования всех моих маршрутов для управления в YAML-файлах?

ответ

2

Вы бы редактировать app/config/routing.yml так:

# app/config/routing.yml 
course_limit: 
    path:  /courselimit 
    defaults: 
     _controller: FrameworkBundle:Template:template 
     template: path/Limit.html.twig 

Примеры приведены в рендера шаблона без пользовательского контроллера: http://symfony.com/doc/2.7/templating/render_without_controller.html

+0

Спасибо, я не мог найти ничего подобного, что в документации ранее. Теперь я в двух умах, что лучший подход или лучшая практика в этом случае. Должен ли я определять маршрут в 'routing.yml', когда все другие маршруты на уровне приложений определены в аннотациях или я должен оставить пустой метод в базе кода? Я собираюсь переместить маршрут в routing.yml, поскольку для него есть документ Symfony, поэтому я предполагаю, что это должно быть общей проблемой. – crmpicco

+1

Сначала я неправильно прочитал ваш вопрос, но кажется, что использовать файл 'routing.yaml' без контроллера - это путь в вашем случае. –