Духовность™
Продвинутый новичок
Опять поясните с FrontController-ом
Не уверен, что я начал делать изначально в верном направлении, сейчас хочу пока не поздно переписать. Ссылки мне давать не надо на абстрактную теорию, всё я читал. Хочу найти истину непосредственно в обсуждении.
Скажите, _правильно ли я понимаю_, что FrontController (далее FC) - это не родительский класс для всех остальных контроллеров, а отдельный самостоятельный объект (а может и процедурный код), в обязанности которого входит некий базовый функционал действий? Например, вот что мне в проекте требуется от FC:
- Разбор запрошенного URL (получаем контроллер действия и сам action)
- Получение юзера, его права на эти действия...
- Инстанцирование основных объектов типа DB, Request и т.д.
- Запуск необходимых контроллеров, запуск необходимого метода этого контроллера (action)
Ранее FC у меня делал только разбор URL, а все остальные действия лежали на базовых методах класса. Т.е. существовал базовый класс для всех контроллеров и у него был метод main, который делал
- Получение юзера, его права на эти действия...
- Инстанцирование основных объектов типа DB, Request и т.д.
Сейчас, если я перенесу все эти действия в FC, то мне становится не понятным одна вещь - а как все эти туевы хучи объектов прав, пользователя, БД и т.д. передавать в контроллер действий? Делать все звездные объекты сингелтонами или...? В общем, интересует связь между FC и остальными контроллерами, как они взаимодействуют, как передают друг-другу объекты?
Не уверен, что я начал делать изначально в верном направлении, сейчас хочу пока не поздно переписать. Ссылки мне давать не надо на абстрактную теорию, всё я читал. Хочу найти истину непосредственно в обсуждении.
Скажите, _правильно ли я понимаю_, что FrontController (далее FC) - это не родительский класс для всех остальных контроллеров, а отдельный самостоятельный объект (а может и процедурный код), в обязанности которого входит некий базовый функционал действий? Например, вот что мне в проекте требуется от FC:
- Разбор запрошенного URL (получаем контроллер действия и сам action)
- Получение юзера, его права на эти действия...
- Инстанцирование основных объектов типа DB, Request и т.д.
- Запуск необходимых контроллеров, запуск необходимого метода этого контроллера (action)
Ранее FC у меня делал только разбор URL, а все остальные действия лежали на базовых методах класса. Т.е. существовал базовый класс для всех контроллеров и у него был метод main, который делал
- Получение юзера, его права на эти действия...
- Инстанцирование основных объектов типа DB, Request и т.д.
Сейчас, если я перенесу все эти действия в FC, то мне становится не понятным одна вещь - а как все эти туевы хучи объектов прав, пользователя, БД и т.д. передавать в контроллер действий? Делать все звездные объекты сингелтонами или...? В общем, интересует связь между FC и остальными контроллерами, как они взаимодействуют, как передают друг-другу объекты?
