Все,
Я пишу небольшой динамический сайт на php и пытаюсь использовать внедрение зависимостей, а не глобальные.
В моем индексе я создаю объект $view
, которыйсодержит различные элементы для отображения в пользовательском интерфейсе.В индексе у меня также есть структура switch($action){}
, которая определяет, какие контроллеры require
, в зависимости от того, какой элемент пользователь щелкает в меню (и, следовательно, значение $action
).Затем я говорю что-то вроде $view=execute($view)
на контроллере.Каждая функция execute()
(1 на контроллер) заканчивается на return $view;
.Идея состоит в том, что я могу сохранить в индексе объект $view
, который содержит накопленную информацию, сгенерированную во время сеанса пользователя.
У меня вопрос: нужно ли сделать $view
переменной класса каждого контроллера?Я просто хочу передать его через функцию execute()
, изменить его внутри функции и вернуть его, измененный.Я не уверен, считается ли это все еще внедрением зависимости, или каковы преимущества его создания или нет, переменная класса классов, которым передается объект.
Спасибо,
JDelage
PS: немного больше кода, чтобы помочь с пониманием:
In Index.php:
require_once("Class_view.php"); // J'ai cree une classe separee pour la vue.
$view=new $view;
$view->addToViewArray("title", "projet JDelage");
(...)
switch($action){ // Creates instances of the appropriate controller under the name $command
(...)
}
$view=$command->execute($view) // Each execute() function of each controller takes $view as a parameter, modifies it, and returns it.