使用 Kohana 3.3,我创建了一个选项卡式界面,并尝试根据路由参数检测哪个选项卡处于活动状态。
使用 2 个如下所示的 url 进行测试:mysite.com/p/mycontroll
和:mysite.com/p/Francis-Lewis/mycontroll
我的路线如下所示:
Route::set('profile', 'p(/<name>)(/<controller>(/<action>))', array(
'name' => '[\w\-]+',
'controller' => '[a-z]+',
'action' => '(view|edit|save|delete|create|cancel)',
))->defaults(array(
'name' => null,
'directory' => 'profile',
'controller' => 'main',
'action' => 'index',
));
路线本身工作正常,选择mycontroll
控制器。这就是问题所在。在控制器中:
$this->request->param('controller'); // returns NULL
在视图中
<?= Request::current()->param('controller') ?> // returns NULL
在摸索了一会儿之后,我在 Kohana Request 类中添加了一个函数来返回$_params
数组以查看其中的内容。
这是它返回的所有内容:
name => 'Francis Lewis'
任何想法如何获取当前控制器?