我有这条路线:
Router::connect(
'/:controller/*',
array('controller'=>'con3'),
array('controller'=>'con1|con2')
);
我试图将每次通话都指向
/con1/x1/x2
到
/con3/x1/x2
和
/con2/y1/y2
到
/con3/y1/y2
它不起作用,为什么?
答案 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
}
?>
在这种情况下,您不需要像现在这样混乱连接路线。对象继承将为您处理“别名”。