【问题标题】:CakePHP 4 - view helper - error reading session valuesCakePHP 4 - 查看助手 - 读取会话值时出错
【发布时间】:2021-02-27 23:30:55
【问题描述】:

我对 CakePHP 还很陌生,并且倾向于使用第 4 版。我可以在下面的模板 index.php 文件中读取 PHP 会话值。我认为这是错误的做法,但我还是测试了。

$userrole_id = $this->request->getSession()->read('Auth.userrole_id');

现在我正在尝试在 View Helper 中读取会话值,以便可以在许多不同的地方使用相同的代码。但是上面的代码会抛出一个错误,“Call to a member function getSession() on null”。正如您在上面的一行代码中看到的那样,我已经设置了身份验证并且工作正常。我在 AppView.php 中加载了 helper,加载也很好。

我很确定我缺少基本的东西,但我无法弄清楚。任何建议将不胜感激。

【问题讨论】:

  • documentation 确实说你尝试过的应该“在控制器、视图和单元格中”工作。但是您似乎正在尝试在助手中使用它?同一页说,在帮助程序中,您需要$this->getView()->getRequest() 来获取会话对象,而不仅仅是$this->request。那么,$this->getView()->getRequest()->getSession()->read('Auth.userrole_id'); 应该可以工作吗?

标签: session cakephp view helper


【解决方案1】:

我在official documentation 中找到了解决方案,我需要执行以下操作:

$this->getView()->getRequest()->getSession()->read('Auth.userrole_id');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多