问题描述
|
我有这条路线:
Router::connect(
\'/:controller/*\',array(\'controller\'=>\'con3\'),array(\'controller\'=>\'con1|con2\')
);
我正尝试将每个电话转到
/con1/x1/x2
至
/con3/x1/x2
和
/con2/y1/y2
至
/con3/y1/y2
它不起作用,为什么?
解决方法
如果您需要根据自己的约束将
/con3/
路由到/con1/
和/或/con2/
,那么您需要的是自定义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
}
?>
在这种情况下,您无需像现在那样弄乱连接路线。对象继承将为您处理“别名”。
,您是否考虑过类似的东西:
Router::connect( \'/con1/:action/*\',array( \'controller\' => \'con3\' ) );
Router::connect( \'/con2/:action/*\',array( \'controller\' => \'con3\' ) );