@66demon666
По навыкам джун - по факту безработный

Как в MVC правильно связать Controller и Model?

Здравствуйте! В процессе написания бота вк пришел таки к структуре MVC, во многом оглядываясь на Yii2, поэтому возник вопрос, как же связать все компоненты между собой? Например, запрос попадает в индексную страницу, где запускается экземпляр приложения App, который, в свою очередь, вызывает внутри себя же метод, соответствующий типу Callback-события (например, метод message_new). Класс App содержит внутри себя необходимые классы и конфиги. Так как мое приложение основано на сообщениях-командах, то в методе message_new я разбираю, что же там пришло и уже начинаю классический роутинг, то есть ищу контроллер и вызываю, и тут собственно проблема: как передать controller-у, да и модели экземпляр класса? В Yii2 это реализовано, как я понял, глобальным контейнером со статическим свойством $app, но я читал что глобальный доступ это плохо.

Как же всё-таки правильно это сделать, какие способы решения этой задачи существуют? И станет ли лучше, если я реализую тот же самый глобальный статик класс в виде Singleton?
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
Decadal
@Decadal
MVC это про идею, не про реализацию.
Вы можете реализовать через глобальный контейнер, если приложение не предполагается развивать и поддерживать большой командой. Можете упороться и сделать гибкую, продуманную конфигурацию оркестрации контроллерами, моделями и вьюхами и получить свой вариант Симфони. Техническая правильность решений уступает целесообразности их реализации.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект