2013-12-22 5 views
2

Я новичок в CodeIgniter, но хочу с самого начала использовать лучшие практики. У меня есть простой вызов авторизации, который должен быть вызван из нескольких контроллеров. Поэтому я думаю, что он должен быть помещен либо в библиотеку, либо в вспомогательную функцию. Вызов будет содержать идентификатор пользователя и требуемый «уровень» авторизации, захватить их информацию из БД, убедиться, что у них есть такой уровень доступа, и вернуть true или false.CodeIgniter: подходящее место для размещения функций многократного использования с вызовами базы данных

Скажем: аутентификации ($ пользователя, 5)

Мой первый инстинкт, чтобы сделать эту библиотеку, но мне кажется странным, чтобы поместить его непосредственно в библиотеке, потому что есть DB звонки, которые я думаю, должен идти в модели. Похоже, что только библиотека сеанса содержит вызовы непосредственно в БД (для тех случаев, когда хранение сеанса базы данных включено).

Итак, я мог получить доступ к БД непосредственно в библиотеке или попытаться установить связь с внешней моделью. Смотря это в Интернете, я только нахожу людей, у которых есть проблемы с обоими маршрутами. Прежде чем я слишком глубоко погрузился в то, чтобы заставить одного из них работать, я был бы признателен за любые мнения о том, как это сделать.

Спасибо, Джереми

+1

Одно из предложений - создать базовый контроллер и базовую модель, все новые контроллеры и модели должны наследовать вашу базу C/M и вставлять в нее свои многоразовые функции. –

+1

В отличие от сайтов на форуме мы не используем «Спасибо», или «Любые помочь оценить »или подписи на [так]. См. [Должны ли «Привет», «спасибо», теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be- удален-от-сообщений). – rene

ответ

0

Похоже, что это функция модели. По крайней мере, поместите его туда позже в развитие.

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

Смежные вопросы