我有一个行为可以根据存储在 session 中的用户 ID 来隔离用户数据。在 CakePHP 1.3 中,你可以这样做:
App::import('Component', 'Session');
$session = new SessionComponent();
$session->read('Auth.User.id');
但是在 CakePHP 2 中,您不能在行为中实例化这样的组件,因为 Component __construct 需要 Controller 的 ComponentCollection 作为参数。
是否可以在 CakePHP 2 的行为中访问 session 变量?最好的方法是什么?
最佳答案
如果你看 SessionComponent
代码,你会看到它只是 CakeSession
的包装器类(class)。
因此,您可以执行以下操作:
App::uses('CakeSession', 'Model/Datasource');
$user_id = CakeSession::read('Auth.User.id');
关于session - 在 cakephp 2 中的行为中读取 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8529199/