有时候我们需要在Model中使用Session,大家知道CakePHP把操作Session的方法封装为了一个Component,
在Model中正常读取Session的方法:
在 "app_model.php" 文件 (CakePHP 2.x 中命为"AppModel.php"), 创建一个新函数,
方便所有的模型都能使用
function getCurrentUser() { // for CakePHP 1.x: App::import('Component','Session'); $Session = new SessionComponent(); // for CakePHP 2.x: App::uses('CakeSession', 'Model/Datasource'); $Session = new CakeSession(); $user = $Session->read('Auth.User'); return $user; }
因为其他模型文件都继承自app_model类,直接调用
$user = $this->getCurrentUser(); $user_id = $user['id']; $username = $user['username'];