Я спросил у нескольких разработчиков и каждый раз получал разные ответы.Где находятся службы в MVC?
Предположим, что я работаю в среде MVC, и у меня есть класс под названием validator
. Скажем, у этого объекта есть куча методов, которые могут быть использованы, чтобы сообщить вам, действительно ли номер электронной почты или номер телефона действителен, или если данное значение действительно содержит контент.
Скажите, что я хочу сделать эту службу собственностью модели, которую я создаю. Я могу просто ввести его в метод построения моего модельного класса. Однако, где эта услуга входит в состав MVC? Это модель?
Куда хранить файл? С моделями? В его собственном каталоге, возможно, называется services
?
Добро пожаловать в переполнение стека! Я отредактировал ваш вопрос, насколько я мог догадаться о вашей проблеме. Однако добавьте код и описание, чтобы увидеть больше людей со знанием предмета. Измените конкретное сообщение об ошибке, с которым вы сталкиваетесь, в случае необходимости определить конкретную проблему. Удачи! – manetsus
Нет, задача классов моделей состоит только в обработке (в основном постоянной) структуры данных, проверка является одним из самых ясных заданий контроллера. Конечно, валидатор может совершать вызовы модели, и в большинстве случаев это делается, но их место находится на стороне контроллера. Если в фактически используемой структуре нет конкретной поддержки, то в вашем случае я буду использовать их в качестве вспомогательных классов для валидатора. Еще одно небольшое замечание (извините, жаль PHP программистов): глубоко изучить OOP и архитектуру программного обеспечения, возможно, PHP не самый лучший вариант. Java является, EJB + JSF является лучшим. – peterh
Ewww, Java. Второе, что вы описываете, - это регулятор жира. Модели должны содержать бизнес-логику, включая проверку, если я правильно понимаю. Это не очень СУХОЙ, чтобы повторять логику в контроллерах и, похоже, побеждает цель MVC. – Allenph