2015-04-08 6 views
1

Я пытаюсь создать динамические маршруты в Phalcon 1.3.4, но если параметр отсутствует (например, :action или :params), маршрут не совпадает.Phalcon routing, как установить параметры по умолчанию?

Вот (рабочий) Код:

$router = new Phalcon\Mvc\Router(TRUE); 
$group = new Phalcon\Mvc\Router\Group([ 
              'namespace' => 'App\\Backoffice', 
              'controller' => 'Index', 
             ]); 

// All the routes start with /group 
$group->setPrefix('/backoffice'); 

// Adding route to group 
$group->add('', ['action' => 'index']); // matches /backoffice 
$group->add('/:controller', ['controller' => 1]); // matches /backoffice/moderate 
$group->add('/:controller/:action', ['controller' => 1, 'action' => 2]); 
$group->add('/:controller/:action/:params', ['controller' => 1, 'action' => 2, 'params' => 3]); 

$router->mount($group); 

Можно ли удалить лишние первые три маршрута и только сохранить четвёртую? Назначая значения по умолчанию, соответствующие /backoffice или /backoffice/moderate.

ответ

1

Это, как я инициализировать маршрутизатор:

$router = new \Phalcon\Mvc\Router(false); 
$router->removeExtraSlashes(true); 
$router->notFound([ 
    "module" => "page", 
    "controller" => 'index', 
    "action"  => 'index', 
]); 

Существует также SetDefaults метод() в документации: http://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_Router.html

Является ли это полезно?

+0

Таким образом, у нас не будет динамического контроллера или действия. Метод setDefaults() не помогает мне, потому что у меня есть несколько пространств имен. –

Смежные вопросы