@Karpkarp

Чья обязанность проверять переменные(isset)?

Пишу простую регистрацию, вопрос такой.

У меня есть модель, в которой написан метод регистрации, но в методе так же присутствует проверка на то, была ли нажата кнопка, были ли заполнены поля. С точки зрения mvc, проверки isset не должны быть в модели? Их наверное лучше в контроллер вынести?
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 2
Decadal
@Decadal
в MVC нет чёткого определения, куда отнести валидацию. В то же время, MVC не описывает абсолютно всё приложение, только идею. В популярных фреймворках типа Symfony и Zend есть специальные штуки - формы, которые собирают в себя массив пришедших данных, а возвращают заполненный объект, если данные прошли проверку, либо возвращают массив ошибок. Часто практикуют использование формы в контроллере: там сеттятся данные из реквеста в форму, затем происходит проверка формы на наличие ошибок, и если они есть, контроллер возвращает сообщение об ошибке, иначе забирает заполненный объект с данными и передает его в нужный сервис.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
С точки зрения mvc, проверки isset не должны быть в модели? Их наверное лучше в контроллер вынести?
Лучше, чтобы сайт был практически (или совсем) неломаемым, вынести их в фильтр пользовательских входных данных: в root-уровень, и сразу же проверять на валидность, и только потом уже, передавать на роутинг веб-приложений.

Используйте при валидации regex+preg_match() (вместо тучи isset() в разных местах кода), чтобы сразу знать массив всех входных переменных с установленными значениями и минимизировать риски и нагрузку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы