CakePHP 4:如何在表类(Model)中读取会话数据?

fwzugrvs  于 2022-11-11  发布在  PHP
关注(0)|答案(3)|浏览(143)

我已经将CakePHP从3.6版升级到4.0版,在3.6版中,我可以使用以下解决方案访问模型中会话:

use Cake\Network\Session;
public function getSessionUser() {
    $session = new Session();
    return $session->read('Auth.User');
}

现在的问题是,在较新的4.0版本中,它给出错误**“类'蛋糕\网络\会话'找不到”**。
有人能帮助如何在cakephp 4版本中访问模型中的会话吗?
谢谢

rks48beu

rks48beu1#

我找到了解决办法。首先,你需要在开始上课时使用下面的一行

use Cake\Routing\Router;

然后简单地创建一个会话对象,如下所示

$session = Router::getRequest()->getSession();

然后在表类中读取会话

$session->read("key");
bmvo0sr5

bmvo0sr52#

CakePHP 4.0,您需要使用

Cake\Http\Session\CacheSession::read()

https://api.cakephp.org/4.1/class-Cake.Http.Session.CacheSession.html#read

zphenhs4

zphenhs43#

我发现解决方案是在模型中将use Cake\Network\Session更改为use Cake\Http\Session

相关问题