Php Yii2加载模块

Php Yii2加载模块,php,yii2,yii2-advanced-app,yii2-module,Php,Yii2,Yii2 Advanced App,Yii2 Module,如何加载外部站点模块?我有一个公共模块,我需要在不同的Yii2站点中加载,就像高级模板一样,我的想法是有一个公共目录,其中存储我可以加载到每个站点的通用模块。文件系统结构可以是这样的: / 站点-1/ (从站点1的通用模块目录加载模块) 站点-2/ (从站点2的通用模块目录加载模块) 公共_站点_模块/ 模块1/ 模块2/ 卡雷洛/ php 配置中的每个站点都必须从common modules/ 有可能实现这种结构吗 编辑1 配置: “购物车”=>[ 'class'=>dirname(dirna

如何加载外部站点模块?我有一个公共模块,我需要在不同的Yii2站点中加载,就像高级模板一样,我的想法是有一个公共目录,其中存储我可以加载到每个站点的通用模块。文件系统结构可以是这样的:

/
站点-1/
(从站点1的通用模块目录加载模块)
站点-2/
(从站点2的通用模块目录加载模块)
公共_站点_模块/
模块1/
模块2/
卡雷洛/
php

配置中的每个站点都必须从
common modules/
有可能实现这种结构吗

编辑1

配置:

“购物车”=>[
'class'=>dirname(dirname(dirname(_DIR__;))。/common_sites_modules/carrello/carrello',
“参数”=>[
...
],
“组件”=>[
...
],
],

这是Carrello.php类的第一行:


是的,这是可能的。好的,但我在加载模块时遇到一些问题,在配置的
参数中,我设置了模块的绝对路径,但每次我收到
类/var/www/html/common\u sites\u modules/my module/MyClass不存在时,使用该路径生成新的ReflectionClass对象时出现异常,路径是正确的,为什么会出现这种异常?可能是因为你做错了什么。共享代码,否则我们帮不了你。你对此有什么想法吗?在配置中,不要使用
dirname(dirname(..
,只需将
app\component namespace\MyComponent::class
。Yii class autoloader需要使用路径名称空间,因此模块/组件的名称空间应该是
namespace-app\folder\u-name\carello\;
(或者创建自己的别名,然后使用它)。对此,您应该阅读。您必须将其调整为yii2样式,否则将无法自动加载。