提问人:Aryn 提问时间:4/5/2023 最后编辑:LazyOneAryn 更新时间:4/5/2023 访问量:73
如何使用composer和PhpStorm从同一父目录中的多个模块/源自动加载?
How to autoload from multiple modules/sources in the same parent directory with composer and PhpStorm?
问:
我想使用 PhpStorm 和 composer 从多个源目录自动加载多个模块,并在正确的目录/具有正确的命名空间中创建新类。
项目结构如下所示:
ProjectName
- ModuleA
- - src
- - - Foo
- - - - Bar.php
- - - Baz.php
- - public
- - ...
- ModuleB
- - src
- - ...
- ModuleC
- - src
- - ...
- composer.json
我还希望我的命名空间包含项目和模块名称,例如ProjectName\ModuleA\Foo
我目前:composer.json
{
"autoload": {
"psr-4": {
"ProjectName\\ModuleA\\": "ModuleA/src",
"ProjectName\\ModuleB\\": "ModuleB/src",
"ProjectName\\ModuleC\\": "ModuleC/src"
}
}
}
这有效,但是 PhpStorm 一直告诉我“命名空间名称与 PSR-0/PSR-4 项目结构不匹配”,并且我应该将 ModuleA 中的类从 移动到 .ProjectName/ModuleA/src
src/ProjectName/ModuleA
当我在没有指定命名空间的情况下创建一个新类时,PhpStorm 会正确识别子目录,但不包括项目和模块名称,例如 而不是。namespace Foo;
namespace ProjectName\ModuleA\Foo;
另一方面,如果我在创建类期间指定命名空间,PhpStorm 会在模块的文件夹中为项目和模块名称创建一个新目录。src
答: 暂无答案
下一个:PHP:尽管自动加载,但找不到类
评论
composer.json