В основном.
Это может быть модель или проблема с библиотекой.Возникает вопрос, как вы сохраняете, вошли ли они в систему. Лично я обычно помещаю ее в библиотеку, которая вызывает определенную модель, сначала она кажется менее изящной, но в действительности я не хочу, чтобы моя модель знала что-либо о моем$_SESSION
или мой $this->session
, один из которых был бы необходим, если бы я хотел иметь хорошую систему аутентификации.
Что касается связи с представлением, существует несколько способов:
- Имейте это как специальную переменную, передаваемую в представление: Бонус : Это самое очевидное. Ущерб : вам нужно будет поместить его в каждый звонок для просмотра.Это означает, что вы либо перезаписываете свой загрузчик, либо обновляете все свои элементы управления (может быть грубым).
- Определите его как константу: Бонус : безусловно, самый простой, если у вас есть логика в представлении. Ущерб : константы редко используются, их сложно отлаживать, и это не совсем CodeIgniter.
- Имеют вспомогательную функцию (буквально «помощник»).функция) Бонус : универсально доступное значение, которое относительно легко отлаживать. Ущерб : Требуется, чтобы помощник знал о библиотеке и / или модели (на самом деле это верно для встроенного form_helper, но он все еще открывает общеизвестную банку с червями), и, вероятно, это будет одно-Файл вспомогательных функций.
- Условно включить представление из контроллера Бонус : Он удаляет всю логику с вашего взгляда. Ущерб : Вам все еще нужно, чтобы ваши контролеры знали о логике.
Лично я, скорее всего, буду использовать # 3 и 4, но у каждого есть свои преимущества.