Zend Framework:Bootstrap 中的模块名称
我需要知道如何获取 zend 应用程序的引导文件中的当前模块名称。在加载页面时,我正在向 Web 服务发出请求,通过发送散列 cookie 和令牌来获取当前用户信息。问题是我只需要在 3 个模块中的两个中执行此操作,因此我需要能够询问示例。
if ($moduleName !== "filteredmodule"){ // 执行请求 }
谢谢。
I need to know how to get the current module name in the bootstrap file of my zend application. On the load of the page I'm doing a request to a webservice to get the current user information by sending a hashed cookie and a token. The problem is that I only need to do this in two of my 3 modules so i need to be able to ask for example.
if ($moduleName !== "filteredmodule"){
// do the request
}
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Bootstrap 用于准备应用程序。我建议您在控制器插件(您可以使用它来获取当前调用的模块)或控制器的 init() 函数中进行这种调用。
这是如何通过控制器插件获取当前模块:
文档:http:// /framework.zend.com/manual/en/zend.controller.plugins.html
Bootstrap is for getting the application ready. I suggest you do this kind of call in a Controller Plugin (which you can use to get the current called module) or in the init() function of your controller.
This is how to get the current module via controller plugin:
Docs: http://framework.zend.com/manual/en/zend.controller.plugins.html
关于阿什利的回答有一件事:
如果你想
尽快做,那就在routeShutdown()中做。
正如文档所述,“routeStartup() 在 Zend_Controller_Front 调用路由器之前调用,以根据注册的路由评估请求。在路由器完成路由请求后调用routeShutdown()。”
因此,依赖于路由器的请求参数(例如模块、控制器、操作或路由中指定的任何其他参数)将可以在routeShutdown()和后续函数中访问。
One thing regarding Ashley's answer:
If you want to do
as soon as possible, then do it in routeShutdown().
As the documentation states, "routeStartup() is called before Zend_Controller_Front calls on the router to evaluate the request against the registered routes. routeShutdown() is called after the router finishes routing the request."
So router dependant request parameters like module, controller, action or any other parameters specified in the route will be accessible in routeShutdown() and later functions.