【问题标题】:Retrieving request parameters (such as controller and action) in Kohana 3.2在 Kohana 3.2 中检索请求参数(例如控制器和操作)
【发布时间】:2012-01-30 16:20:48
【问题描述】:

我的控制器带有以下扩展:

Controller_Login 扩展了 Controller_Layout Controller_Layout 扩展了 Controller_Template

这样所有的控制器(处理用户的url)都会通过Controller_Layout。在我的 controller_Layout 中,我试图检索控制器和操作 url 值以绑定它们并将它们显示在我的布局视图中。

调用echo $this->request->param('controller'); 不返回任何内容(空字符串),而调用echo $this->request->param(); 返回一个空数组。显然,在请求中找不到任何内容。

我想知道这是否是因为我试图从实际处理请求的父控制器中检索请求值。理想情况下,我想通过我的父控制器(controller_Layout)来处理这个问题,因为每个页面请求都需要进行这个调用来检索控制器和操作值

有什么想法吗?

【问题讨论】:

    标签: kohana kohana-3


    【解决方案1】:

    要获取当前的 Requests 控制器名称,请使用 $this->request->controller() 而不是 $this->request->param('controller')。当前操作也是如此,它们不是可变参数,因此可以通过这种方式访问​​。

    是的,你可以在父控制器中处理这些,保持干燥:)

    【讨论】:

    • 是的,成功了!我之前尝试过使用 controller() 调用,但我必须在错误的函数调用中使用它;似乎如果我把它放在 before() 函数中,它工作正常,但是当我把它放在我的控制器布局的 action_index() 函数调用中时,我得到了所有这些错误......你知道为什么吗?保持干燥是什么意思?就像没有太多的价值操纵一样?
    • @user751564 DRY = 不要重复自己
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多