использование класса сеанса Codeigniter для нескольких файлов php (контроллеров) - PullRequest
1 голос
/ 06 июня 2011

У меня есть два контроллера, пользователь и модуль. По умолчанию пользовательский контроллер загружается, и пользователь сначала входит в систему. Как только пользователь проходит аутентификацию (в школе), выдается токен, который используется для выполнения всех вызовов API школы. Я создаю сеанс и сохраняю в нем токен.

$this->session->set_userdata('token', $_GET['token']);

После входа в систему мне нужно отобразить зарегистрированные модули пользователя (в основном темы), для которых я создаю объект класса модуля и вызываю функцию для отображения модулей. Вызовы модуля делают вызов API, чтобы получить список зарегистрированных модулей. Для этого мне нужен токен, поэтому я пытаюсь получить доступ к токену через:

$this->session->userdata('token');

Но я получаю сообщение об ошибке: «Сообщение: неопределенное свойство: Module :: $ session»

В файле user.php есть класс User, в котором определены все функции (перенаправление на страницу входа и сохранение токена в сеансе), в то время как в файле module.php есть модуль claa, который выполняет вызов API для получения список зарегистрированных модулей.

Класс сеанса настроен на автозагрузку!

Ответы [ 2 ]

1 голос
/ 07 июня 2011
0 голосов
/ 06 июня 2011

Я последовал совету Фила Стерджена по настройке базового класса, с которого можно было бы расширяться.Таким образом, вам не нужно постоянно определять один и тот же материал сеанса для нескольких классов.

http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...