我已将 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 中访问模型中的会话?
我找到了解决方案。首先,您需要在课程开始时使用以下行
use Cake\Routing\Router;
然后像这样简单地创建一个会话对象
$session = Router::getRequest()->getSession();
然后你在桌子课上阅读课程
$session->read("key");
我发现解决方案是将模型中的 use Cake\Network\Session 更改为 use Cake\Http\Session。
CakePHP 4.0,你需要使用
Cake\Http\Session\CacheSession::read()
https://api.cakephp.org/4.1/class-Cake.Http.Session.CacheSession.html#read