Kohana 3 获取电流控制器/操作/参数

2022-08-30 21:31:57

在Kohana 2中,您可以轻松获得如下信息:

echo router::$controller;
echo router::$method;
echo router::$arguments[0-x];

任何想法如何在Kohana 3中工作?

提前致谢!


答案 1

从控制器内部:

$this->request->controller

$this->request->action

$this->request->param('paramname')

与 K3 中的 K2 参数不同,可以通过您在路由中定义的 kays 进行访问。

以这个网址为例:

Route::set('default', '(<controller>(/<action>(/<id>)))')    
    ->defaults(array('controller' => 'welcome', 'action' => 'index')); 

访问“id”参数,请调用

$this->request->param('id')

您无法从 param() 方法访问控制器/操作参数。

请注意,您还可以使用 来获取全局(或“主”)请求实例。Request::instance()

有关更多信息,请参阅 K3 指南


答案 2

Kohana 3.2的更新答案,来自用户指南

// From within a controller:
$this->request->action();
$this->request->controller();
$this->request->directory();

// Can be used anywhere:
Request::current()->action();
Request::current()->controller();
Request::current()->directory();

推荐