Как получить доступ к классу контроллера в CodeIgniter - PullRequest
3 голосов
/ 09 октября 2009

Я написал контроллер класса аутентификации, содержащий метод для проверки статуса входа пользователя и перенаправления его на страницу входа, если он не вошел в систему.

Мне нужно вызывать эту функцию из других методов контроллера для аутентификации пользователя. Какой хороший способ сделать это?

Ответы [ 4 ]

2 голосов
/ 09 октября 2009

Возьмите этот метод из этого контроллера.

Если у вас есть модель User, это отличное место для ее установки, если она аутентифицирует пользователя и регистрирует его.

В других местах, где вы можете поместить повторяемый код, есть помощники (статические функции) и библиотеки (классы).

0 голосов
/ 15 февраля 2010

Суманчалки верны, но он может не дать достаточно информации о том, как это сделать.

Базовые классы CodeIgniter: СУХОЙ

Это покажет вам, как создавать именованные базовые контроллеры, такие как Admin Controller, которые могут содержать вашу логику аутентификации пользователя и многое другое.

0 голосов
/ 15 февраля 2010

Я установил метод проверки входа в систему в базовом контроллере, который распространяется на все контроллеры. Теперь, если действие контроллера требует, чтобы пользователи вошли в систему, я называю это там как parent::_check_login(), если весь контроллер требует этого, я вызываю его из конструктора этого контроллера, и все.

0 голосов
/ 25 октября 2009

Перенесите функцию в модель или запишите ее в библиотеке.

Помощники Я не буду рекомендовать, поскольку вам не рекомендуется обращаться к базе данных от Помощников.

Простой выход - поместить его в модель, скажем user_model, и вызвать его любым контроллером в любом месте.

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