Маршрутизатор cakePHP, маршрут не работает - PullRequest
0 голосов
/ 01 мая 2011

У меня есть этот маршрут:

Router::connect(
    '/:controller/*',
    array('controller'=>'con3'),
    array('controller'=>'con1|con2')
            );

Я пытаюсь перенаправить каждый вызов на

/con1/x1/x2

на

/con3/x1/x2

и

/con2/y1/y2

до

/con3/y1/y2

это не работает, почему?

Ответы [ 2 ]

1 голос
/ 02 мая 2011

Если вам требуется направить /con3/ в /con1/ и / или /con2/ на основе ваших собственных ограничений, вам потребуется Custom Route class. Для этого нет лучшего места, чем учебник Mark Story по пользовательским Route классам .

В противном случае вы можете, конечно, просто расширить свои контроллеры (и оставить тело пустым), например:

<?php
class Con3Controller extends Con1Controller{
    // maybe add model here if you don't have
    // var $uses in Con1Controller
    // otherwise, extend is just fine
}
?>

В этом случае вам не нужно связываться с соединяющимися маршрутами, как сейчас. Наследование объектов позаботится о вашем "псевдониме" для вас.

1 голос
/ 02 мая 2011

Рассматривали ли вы что-то вроде:

Router::connect( '/con1/:action/*', array( 'controller' => 'con3' ) );
Router::connect( '/con2/:action/*', array( 'controller' => 'con3' ) );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...