主项目的全局中间件只影响主项目,不会对应用插件产生影响。有时候我们想要加一个影响全局包括所有插件的中间件,则可以使用超全局中间件。
return [
'@' => [ // 给主项目及所有插件增加全局中间件
app\middleware\MiddlewareGlobl::class,
],
'' => [], // 只给主项目增加全局中间件
];
以上是文档引用。
按文档理解,定义主项目中间件:主项目(不在任何应用内)有效, 应用项目无效。
为何实际流程,定义的主项目中间件,应用也生效了?
这里说的主项目是指
{根目录}/app
的业务,包括{根目录}/app
下的子应用。手册里说的是不对应用插件产生影响,应用插件是
{根目录}/plugin/
下的应用插件