Zend Framework:Bootstrap 中的模块名称

发布于 2024-10-15 01:10:21 字数 200 浏览 1 评论 0原文

我需要知道如何获取 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

如此安好 2024-10-22 01:10:21

Bootstrap 用于准备应用程序。我建议您在控制器插件(您可以使用它来获取当前调用的模块)或控制器的 init() 函数中进行这种调用。

这是如何通过控制器插件获取当前模块:

<?php

final class YourApp_Controller_Plugin_YourPluginName extends Zend_Controller_Plugin_Abstract {

    public function preDispatch(Zend_Controller_Request_Abstract $request) {
        $module = $request->getModuleName(); //This is the module

文档: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:

<?php

final class YourApp_Controller_Plugin_YourPluginName extends Zend_Controller_Plugin_Abstract {

    public function preDispatch(Zend_Controller_Request_Abstract $request) {
        $module = $request->getModuleName(); //This is the module

Docs: http://framework.zend.com/manual/en/zend.controller.plugins.html

梦巷 2024-10-22 01:10:21

关于阿什利的回答有一件事:

如果你想

$module = $request->getModuleName();

尽快做,那就在routeShutdown()中做。

正如文档所述,“routeStartup() 在 Zend_Controller_Front 调用路由器之前调用,以根据注册的路由评估请求。在路由器完成路由请求后调用routeShutdown()。”

因此,依赖于路由器的请求参数(例如模块、控制器、操作或路由中指定的任何其他参数)将可以在routeShutdown()和后续函数中访问。

One thing regarding Ashley's answer:

If you want to do

$module = $request->getModuleName();

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文