Php 绕过onBootstrap()函数

Php 绕过onBootstrap()函数,php,zend-framework,laminas,Php,Zend Framework,Laminas,我有以下问题。目前我正在做一个项目,我应该开发一个新模块。问题是,主模块只是使用onBootstrap函数来验证请求(every),如果它不在主模块的路由上,它将返回notfound 404错误页面 现在,我的新模块上的所有新路由都不起作用,因为onBootstrap()以前就开始工作了。是否有办法在主模块中检查路由是否刚刚命中,以及每个模块是否都没有找到路由以获取404错误页面 我对这个框架非常陌生 例如: MainModule.php class Module { ... onBoot

我有以下问题。目前我正在做一个项目,我应该开发一个新模块。问题是,主模块只是使用onBootstrap函数来验证请求(every),如果它不在主模块的路由上,它将返回notfound 404错误页面

现在,我的新模块上的所有新路由都不起作用,因为onBootstrap()以前就开始工作了。是否有办法在主模块中检查路由是否刚刚命中,以及每个模块是否都没有找到路由以获取404错误页面

我对这个框架非常陌生

例如:

MainModule.php


class Module
{

...

onBootstrap() 
{
$request = ...->getRequest();
if($request->isNotValid()) {
return new 404Response();
}
}

...

}


您应该在代码后面依赖404解析器,而不是在第一个模块的引导过程中。我建议去掉MainModule
onBootstrap()
方法中返回404响应的代码,而是依赖于在应用程序引导期间自动注入的
lamas\Mvc\View\Http\RouteNotFoundStrategy
(请参见
lamas\Mvc\Application::bootstrap()
,附加defaultListeners的部分。ViewManager是defaultListeners之一,ViewManager代表它在
Lalamas\Mvc\View\Http\ViewManager::bootstrap()方法中附加
HttpRouteNotFoundStrategy

RouteNotFoundStrategy不仅将为
MvcEvent->getResponse()
对象设置404状态代码,还将呈现一个未找到的页面,您可以 定制任何您喜欢的方式。有关更多信息,请参阅


class SideModule
{

...

// Never triggered
public function indexAction() 
{
print("Hello World");
}

...

}