Я проектирование сайта с следующей форме URL:
example.com/controller/action/locale
В котором я локаль от Uri параметров языка.Zend Framework - Получение объекта запроса в загрузчике
В начальной загрузке, когда я хочу инициализировать мои ресурсы, такие как Zend_Locale, Zend_Translator или какой-либо другой ресурс, который настраивает Zend_Validate_Date как компоненты, все они нуждаются в данных локали. И, кроме того, я мог бы использовать разные базы данных в соответствии с полученным языковым стандартом. Но, поскольку параметры uri обычно доступны в bootstrap, мне нужно инициализировать все выше в плагинах контроллера, что кажется мне бессмысленным.
В заключение я думаю, что объект запроса и так параметры uri должны быть доступны в бутстрапе. Таким образом, в текущем дизайне Zend Framework отсутствует этот момент.
Я прав или чего-то не хватает?
ОК, но что, если некоторые конфигурации моих ресурсов, например, включают в себя пути, базу данных и т. Д.изменяется в соответствии с параметром locale. Чем я не могу инициализировать их в бутстрапе. Должен ли я инициализировать их все в плагине контроллера? Я не думаю, что это хорошая идея? –
Вы можете создать класс bootstrap более высокого уровня. Передайте ему объект запроса, затем инициализируйте ваши include_paths и соединения с базой данных на основе текущего значения. Конечная игра здесь заключается в том, чтобы не передавать данные уровня запроса в базовый бутстрап, поскольку он должен быть как можно глубже и только инициализировать библиотеку для использования. –
Да, возможно, это может быть хорошим решением. Создание плагина контроллера в качестве начальной загрузки и изменение или инициализация некоторых исходных ресурсов. –