cakePHP路由器,路由不能正常工作

时间:2011-05-01 15:05:11

标签: cakephp routing

我有这条路线:

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

我试图将每次通话都指向

/con1/x1/x2

/con3/x1/x2

/con2/y1/y2

/con3/y1/y2

它不起作用,为什么?

2 个答案:

答案 0 :(得分:1)

您是否考虑过以下内容:

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

答案 1 :(得分:1)

如果您需要根据自己的约束将/con3/路由到/con1/和/或/con2/,您需要的是自定义Route class 。为此,没有比Mark Story's tutorial on custom Route classes更好的地方了。

否则,你当然可以扩展你的控制器(并将身体留空),如下所示:

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

在这种情况下,您不需要像现在这样混乱连接路线。对象继承将为您处理“别名”。