Как сформировать правильную структуру MVC фреймворка? Вопрос по ООП (PHP) от начинающего.
Пишу свой MVC фреймворк. Основу написал: модели контроллеры вьюхи. Есть ядро фреймворка - где лежат файлы родителей модели, контроллера и вью, в них соответственно лежат общие для потомков методы и свойства.
В проекте который будет на этом фреймворке, кроме вывода некоторой информации, нужно будет работать с физическими устройствами, отправляя им пакеты с данными и получая ответ. Т.е. зашёл на главную страницу, получил некий текст и ответ (состояние) неких устройств. По логике вещей все методы для работы с устройствами необходимо собрать в одном классе контроллере и соответственном классе модели, обеспечивая связность кода.
Не могу понять, как тут поступить:
а). то ли размазать код для работы с устройствами по контроллерам и моделям, в зависимости от того на какую страницу человек попал, то и отработало?
б). то ли создать отдельный класс и отдельную модель, что мне нравится больше, но каким образом и в какой момент подключать этот класс, то ли как-то встроить его в дерево наследования, то ли положить его вообще отдельно и в какой-то момент создать объект?
Вопрос в том, где грамотно с точки зрения MVC и ООП в целом поместить такой код для работы с устройствами?

21 Авг 2019 в 07:07
189 +1
0
Ответы
1

Для того чтобы правильно организовать структуру своего фреймворка и решить вопрос с кодом для работы с устройствами, рекомендуется использовать следующий подход:

Создайте отдельный класс и модель для работы с устройствами. Этот класс можно назвать, например, DeviceController и DeviceModel.

В классе DeviceController определите методы, которые будут выполнять необходимые операции с устройствами (например, отправка пакетов с данными и получение ответа).

В классе DeviceModel определите методы, которые будут осуществлять работу с данными устройств (например, сохранение состояния устройств в базу данных).

При необходимости обращения к методам класса DeviceController из контроллеров других страниц, вы можете создать объект этого класса в соответствующем контроллере или использовать паттерн Singleton для синглтон объекта класса DeviceController.

Подключите класс DeviceController в ваше ядро фреймворка, чтобы он был доступен из любой части приложения.

Таким образом, вы сможете грамотно организовать структуру вашего фреймворка с учетом принципов MVC и ООП, разделив логику работы с устройствами на отдельный класс и модель.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир