wertex15
@wertex15

Лучше создать класс или достаточно использовать модель?

Есть сотрудники. Необходимо сделать небольшой сервис по генерации заявок на сертификат ЭП.
В заявку входит следующая информация: ФИО, снилс, инн, паспортные данные, отдел и должность.

В данный момент читаю книгу по ООП (Вайсфельд М. - Объектно-ориентированное мышление ). Автор предлагает использовать классы, наследования и все остальные фишки ООП.

Нужно ли создавать, допустим, класс Passport внутри которого "проводить" различные манипуляции с данными: например заполнили поля для паспорта (номер, дата, кто выдал) отправили через POST в контроллер, он в свою очередь в Class Passport, тот их проверил и отправил в модель для сохранения... или тогда не нужна модель? Или тут можно из контроллера сразу отправлять в модель и там валидировать и сохранять в бд и Class Passport вообще не нужен.

А если делать через ООП то создавать классы/абстрактные/интерфейсы / и тд?
employee->passport
->inn
->snils

Сервис пробую делать на yii2
  • Вопрос задан
  • 280 просмотров
Пригласить эксперта
Ответы на вопрос 2
@maxtm
Make money, not job
У Вас небольшая каша в голове :)

Если Вы хотите делать все по "тру" ООП - то делайте, все сущности - объекты, принципы SOLID и т.п.

Сделайте сервис (отдельный класс), которые отвечает за валидацию, создание, редактирование сущностей нужных Вам, и отдайте всю логику ему.
Чем он будет оперировать, классом Passport, моделью - не суть. Главное - чтобы это была одна точка входа/выхода, у которого простое API.
Ответ написан
Комментировать
@ipokos
Если это "живой" проект, советую начать с каких то учебных, более простых, т.к. может получится что вы будете использовать от ООП только синтаксис и кашу от MVC.

Цель MVC, разделить обязанности кода.
Например, отдельный класс для валидации данных (в нем проверяете тип данных, очищаете от возможных тегов и т.п. проверяете на правильность данных и лучше это делать в отдельных методах)

Отдельный класс (контроллер) для работы с уже подготовленными данными

Отдельный класс (модель) для работы с сущностью (сделать выборку из БД, записать в БД)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы