Я уже много читал об этом, но до сих пор не нашел (или не смог создать) правильный ответ.Имеют доступ к общему классу в фреймворке PHP MVC
Я работаю над небольшой инфраструктурой MVC, и мне нужен какой-то глобальный класс/объект, который я могу вызвать из своих контроллеров (но, может быть, и моделей).
Есть несколько маршрутов, я могу взять с собой:
- Глобальная переменная
- Статический класс/Реестр
- Dependency Injection
Интернет, кажется, согласны, что DI является лучший маршрут. Я думаю, что понял эту идею, но пока не уверен. Поэтому я хочу бросить некоторую справочную информацию; Я, вероятно, буду работать только над проектом, это небольшой проект, все мои контроллеры расширяют основной контроллер (чтобы я мог просто загружать одну библиотеку, например, класс).
Как конкретный пример, я хочу иметь массив категорий. Поэтому я начал с размещения этого массива в CategoryController. Но теперь я заметил, что я хочу использовать этот массив в моем представлении и в ProductController. Очевидно, что я не хочу загружать все CategoryController в ProductController. Вы также можете сказать, что я могу поместить этот массив в какой-то файл конфигурации или настроек из-за простоты этого примера, но вот почему это пример. Я, вероятно, расширю его с большей функциональностью.
Итак, чтобы обобщить: В PHP (в частности, в модели MVC), как вы можете предоставить своим классам (главным образом контроллерам) доступ к некоторому классу или другим совместным функциям.
Почему вы контролируете что-либо помимо обработки запроса и получения ответа? – PeeHaa
Наверное, потому что это не идеально, и я сделал это сам. –