如何读取表类(Model)中的Session数据?

问题描述 投票:0回答:3

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

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

现在的问题是,在较新的版本 4.0 中,它给出错误“Class 'Cake\Network\Session' not found”。

如何在 CakePHP 版本 4 中访问模型中的会话?

session cakephp model cakephp-4.x
3个回答
3
投票

我找到了解决方案。首先,您需要在课程开始时使用以下行

use Cake\Routing\Router; 

然后像这样简单地创建一个会话对象

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

然后你在桌子课上阅读课程

$session->read("key");

-1
投票

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


-1
投票

CakePHP 4.0,你需要使用

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

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

© www.soinside.com 2019 - 2024. All rights reserved.