как получить доступ к переменным сеанса на страницах - PullRequest
2 голосов
/ 21 апреля 2011

как получить доступ к переменным сеанса на страницах гибкого инструментария. я использую $ this-> getUser (), но он не работает

1 Ответ

3 голосов
/ 21 апреля 2011

В гибком наборе инструментов каждый объект может регистрировать переменные сеанса. Это сделано для того, чтобы несколько объектов работали неприлично и не конфликтовали.

Основные функции:

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

$o->recall('handle');

$o->forget('handle');

Если вы намеренно хотите поделиться данными, тогда вы можете использовать

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

Поскольку вы упомянули об идентификаторе пользователя, объект авторизации обрабатывает свои собственные переменные. Точно так же он использует запоминание / отзыв для манипулирования настройками данных аутентификации, но вы можете получить такую ​​информацию:

$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() для извлечения данных.

...