CakePHP模型中的全局变量

时间:2011-06-15 06:15:12

标签: cakephp model global

我正在使用Auth组件制作一个CakePHP项目。当我登录时,我获得了包含用户数据的Session变量。目前我在控制器中使用此变量将数据传递给模型。

$user = $this->Session->read('Auth');
$costs = $this->Posts->get_quartal_cost($user, $quartal, TRUE);

当我在许多控制器/模型中使用它时,我认为这不是DRY方法,所以我想让它更好 - 在AppModel(?)

你有什么建议如何更好地做到这一点?

由于

1 个答案:

答案 0 :(得分:0)

您可以在AppController中使用beforeFilter事件并执行以下操作:

public function beforeFilter()
{
  if ( $this->Session->check('Auth') )
    Configure::write('Auth', $this->Session->read('Auth'));
}

您可以在控制器,模型甚至视图的任何位置使用echo Configure::read('Auth');访问它。有关详细信息,请参阅Configuration class文档。