Php 正在尝试在beforefilter()中使用$#U会话[';身份验证&';][';用户';][';id';]
我正在尝试在Php 正在尝试在beforefilter()中使用$#U会话[';身份验证&';][';用户';][';id';],php,cakephp,Php,Cakephp,我正在尝试在beforefilter()中使用$\u SESSION['Auth']['User']['id']函数。但我收到了错误信息。 错误消息是->未定义变量:\u会话[APP\APP\u controller.php 这是我的应用程序控制器文件。谢谢 `class AppController extends Controller { var $components = array('Acl', 'Session', 'Auth'); ....
beforefilter()中使用$\u SESSION['Auth']['User']['id']
函数。但我收到了错误信息。
错误消息是->未定义变量:\u会话[APP\APP\u controller.php
这是我的应用程序控制器文件。谢谢
`class AppController extends Controller {
var $components = array('Acl', 'Session', 'Auth');
....................................`
使用$this->Auth->user('id')
,而不是$\u SESSION
变量。
如果坚持直接从会话中读取,请使用$this->session->read('Auth.User.id')
$\u SESSION
应该可以访问,但这取决于会话何时开始,以及您是否使用PHP的会话管理。使用Cake的包装器,它们会处理这些细节。我从$this->Auth->user('id')获取id;
不是从$this->SESSION->read('Auth.user.id'))
。$this->Session->read('Auth.User.id')
与$this->Auth->User('id')
@User有什么区别?这是一样的。Auth组件将其数据存储在会话中的Auth
键下。我建议您始终使用Auth->User()
来获取Auth数据。