我的控制器有以下扩展名:
Controller_Login扩展了Controller_Layout Controller_Layout扩展了Controller_Template
以便所有控制器(处理用户URL)都将通过Controller_Layout。在我的controller_Layout中,我正在尝试检索控制器和操作URL值,以便绑定它们并在我的布局视图中显示它们。
调用此echo $this->request->param('controller');
不返回任何内容(空字符串),而调用echo $this->request->param();
则返回一个空数组。显然,请求中没有找到任何内容。
我想知道这是否是因为我正在尝试从父控制器检索请求实际处理的位置。 Idealy我想通过我的父控制器(controller_Layout)处理这个问题,因为每个页面请求都需要进行此调用以检索控制器和操作值
有什么想法吗?
答案 0 :(得分:2)
要获取当前的请求控制器名称,请使用$this->request->controller()
而不是$this->request->param('controller')
。同样适用于当前操作,它们不是可变参数,因此可以通过这种方式访问它们。
是的,您可以在父控制器中处理它们,保持干燥:)