我正在开发一个多语言应用程序,并使用带有翻译段的路由。对于多语言支持,我创建了特殊的多语言插件。
要使用已翻译的片段,我需要在路由初始化之前为Zend_Controller_Router_Route设置转换器。所以在我的插件中只有可能的地方是 routeStartup 方法,但是这里有一个问题 - 为了确定正确的语言环境我需要使用请求的属性(Zend_Controller_Request_Abstract),比如模块,控制器和动作名称,但是它们还没有在routeStartup方法中定义。例如,它们已在routeShutdown中定义 - 但我无法在那里设置转换器,因为它必须在路由初始化之前完成。
那我该怎么做:
我可以在routeStartup中以某种方式获取请求属性
或者我可以稍后在routeShutdown中重新设置翻译器
感谢。