Задать вопрос
dllweb
@dllweb

Почему не работают дефолтные параметры в роутинге symfony2?

В мануалах описано что, если после включения в массив defaults после указанного экшена, поставить значение по умолчанию его параметра как здесь, то параметр будет соответствовать значению указанному по умолчанию, привожу свой пример, что идентичен в манах
manager_cpanel:
       pattern: /manager/cpanel/{p}
       defaults: { _controller: NiceBundle:manager\Manager:cpanel, p: "start" }


вот код в экшене

/**
     * @Route("/cpanel/{p}")
     * @Template()
     */
    public function cpanelAction($p=null, Request $r){
    return array("p"=>$p);
     }


Вместо того чтобы мой роут не становился /cpanel/start
мне просто вылетает исключение
No route found for "GET /manager/cpanel/"

на кусок Url в виде /manager/ не обращайте внимания.
Что не так я делаю?
  • Вопрос задан
  • 354 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
/**
     * @Route("/cpanel/{p}", defaults={"p" = "start"})
     * @Template()
     */
    public function cpanelAction($p=null, Request $r){
        return array("p"=>$p);
    }


Ну и Alex T. прав. Вы описываете роуты в yml, хотя, по факту, роуты импортируются из аннотаций
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@shoomyst
dumb
Ужас, ужас, ужас :)
Вы уж определитесь, где задавать маршрут - в аннотациях или в конфигах)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы