2009-10-09 2 views
3

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

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

ответ

2

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

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

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

+0

+1. VarunGupta описывает случай учебника логики, который в первую очередь не принадлежит контроллеру. –

0

Возьмите функцию модели или введите ее в библиотеку.

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

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

0

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

0

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

CodeIgniter Base Classes: Keeping it DRY

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