2015-03-09 2 views
1

Где лучшее место для доступа/записи переменных сеанса в mvc, контроллере или модели? Допустим, у нас простая модель входа. эта модель имеет метод, который вводит имя пользователя и пароль в качестве параметров, проверяет эти параметры и регистрирует пользователя, записывая идентификатор пользователя в сеанс. Правильно ли это или должен ли контроллер отвечать за ввод идентификатора пользователя в сеанс?mvc: php и логика сеанса

+1

Контроллер (или услуга называется контроллером) должны быть ее обработки. Как правило, вы никогда не хотите, чтобы модель, получающая доступ к суперглобальным файлам php (GET, POST, SESSION), всегда проходила в требуемых данных. – Steve

+0

@Steve Это имело больше смысла, когда вы определяете сессию как суперглобал. – Whiteley

+0

@Steve Вы говорите, что модель не должна иметь доступ к сеансу, но может обслуживать. Разве это не служебная часть модельного слоя? – Whiteley

ответ

0

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

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

0

Где лучшее место для доступа/записи переменных сеанса в mvc, контроллере или модели?

Модель. Модельный слой состоит из 3-х частей (бизнес-логика, карт данных, сервисов) - это идеально подходит для бизнес-логики.

Большая связанная статья здесь: How should a model be structured in MVC?

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