【发布时间】:2015-06-15 07:12:08
【问题描述】:
我有一个为 cakephp3 开发的插件,我想在我的组件内部读取存储在会话中的值。
在 cakephp 2 中我使用过:
$userId = CakeSession::read('Auth.User.id');
但如果我将它用于 cakephp 3,则返回此错误:
Error: Call to undefined method UserPermissions\Controller\Component\UserPermissionsComponent::_hasSession()
File /Users/info/Sites/cakephp3/vendor/cakephp/cakephp/src/Network/Session.php
Line: 382
在我正在使用的组件中包含会话:
use Cake\Network\Session;
如何在会话中读取值? 谢谢
【问题讨论】:
-
您始终可以使用
$this->controller->request->session()拉取它,但您需要先设置$this->controller。这样你就不需要使用use Cake\Network\Session.. 我做过类似的事情,所以你可以在这里查看github.com/akkaweb/AKKA-CakePHP-Facebook-Plugin/blob/master/src/… -
我将剖析代码并将其作为评论放在下面.. 2 分钟
标签: php session cakephp cakephp-3.0