我有一种行为可以根据会话中存储的用户 ID 来隔离用户数据。在 CakePHP 1.3 中你可以这样做:
App::import('Component', 'Session');
$session = new SessionComponent();
$session->read('Auth.User.id');
但在 CakePHP 2 中,您无法在行为中实例化这样的组件,因为 Component __construct 需要 Controller 的 ComponentCollection 作为参数。
是否可以在 CakePHP 2 的行为中访问会话变量?最好的方法是什么?
如果你看一下SessionComponent
代码,你会看到它只是一个包装器CakeSession
class.
所以你可以执行以下操作:
App::uses('CakeSession', 'Model/Datasource');
$user_id = CakeSession::read('Auth.User.id');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)