我从CakePHP 3.2文档中看到,要配置一个会话我需要使用write(),所以我在我的控制器中尝试过这样:
use App\Controller\AppController;
use Cake\Core\Configure;
class RatingsController extends AppController
{
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
$this->loadComponent('Paginator');
Configure::write('Session', ['defaults' => 'php']);
}
}
但是如果在我的控制器中执行,这似乎没有设置$ _SESSION数组。
我认为通过设置Auth可以解决方法,从而能够访问$ _SESSION,但是当我通过向上面的init添加$this->Auth->allow();
打开控制器时,会话变量不再存在。
我需要在哪里配置Cake以启动会话?
答案 0 :(得分:3)
CakePHP将会话绑定到请求,例如将值设置为Controller中的键:
$this->request->session()->write('defaults', 'php')
然后,例如在您的模板中按键读取会话:
$this->request->session()->read('defaults')