我如何访问页面中的会话变量

时间:2011-04-21 16:51:34

标签: atk4

如何访问敏捷工具包中页面中的会话变量。我正在使用$ this-> getUser()但它无法正常工作

1 个答案:

答案 0 :(得分:3)

在敏捷工具箱中,每个对象都可以注册会话变量。这样做是为了让您可以让多个对象不雅地工作而不会发生冲突。

基本功能是:

$o->memorize('handle',123);

$o->recall('handle');

$o->forget('handle');

如果您有意共享数据,则可以使用

$o->api->memorize('my_global_var',123);

由于您提到了User ID,因此授权对象会处理自己的变量。同样,它使用memorize / recall来操作auth数据设置,但你可以得到如下信息:

$user_id = $o->api->auth->get('id');

执行$ auth-> check()时,将保存查询返回的所有字段。如果您想添加更多字段,请执行

$auth->dq->field('extrainfo');

此字段将由DSQL选中并存储在会话中,以便$auth->get('extrainfo')进一步检索

要创建getUser函数,通常可以在API中定义:

function getUser(){
    return $this->add('Model_User')->loadData($this->auth->get('id'));
}

并使用$this->api->getUser()检索数据。