CakePHP Model中( 获取Session)使用Component的方法

有时候我们需要在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'];

 

posted @ 2013-12-14 10:11  飞凡123  阅读(611)  评论(0编辑  收藏  举报