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