Cakephp 3.0读写Session的方法

How to read and write Session in Cakephp 3.0

我是cake 3.0的新手。我已阅读文档 http://book.cakephp.org/3.0/en/development/sessions.html 但是我不能写会话。

use Cake\Network\Session\DatabaseSession;

$session->write('Config.language', 'eng'); 
$session->read('Config.language');

更新:对于 CakePHP 3.6+,请参阅@shubham715

以下适用于 3.6 之前的 CakePHP:

您需要设置 $session :

$session = $this->request->session();
$session->write('Config.language', 'eng'); 
$session->read('Config.language');

然后您就可以在会话中读写

或者你可以直接读写:

$this->request->session()->write('Config.language', 'eng');
$this->request->session()->read('Config.language');

我用这个很好用

$session = $this->request->session();
$session->write('annul_income','0,00,00');//Write
echo $session->read('annul_income')//To read the session value   o/p:0,00,00

版本 3.6.0 及以上使用 getRequest()getSession() Document.

$name = $this->getRequest()->getSession()->read('User.name');

如果您多次访问会话,您可能需要一个局部变量。

$session = $this->getRequest()->getSession();
$name = $session->read('User.name');