作者:是你让我变得冷漠涡 | 来源:互联网 | 2022-12-25 12:07
我使用PHPStorm并具有以下消息"多个定义" PHPUnit\Framework\TestCase
.我不确定,但看起来像PHPStorm使用compose autoload系统.所以我试图找到不必要的类定义所在的目录并排除它们.
我发现我可以使用exclude-from-classmap
房产了autoload
.所以我添加了以下内容:
"vendor/cloudinary/cloudinary_php/tests/",
"vendor/bin/.phpunit/phpunit-5.7/src/ForwardCompatibility/"
这些是存在不必要的类定义的目录.然后我跑了composer dump-autoload
.没有改变.重启PHPStrom - 什么都没有.
这是我的整个自动加载部分:
"autoload": {
"psr-4": { "": "src/" },
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ],
"files": [
"src/helpers/helpers.php"
],
"exclude-from-classmap": [
"vendor/cloudinary/cloudinary_php/tests/",
"vendor/bin/.phpunit/phpunit-5.7/src/ForwardCompatibility/"
]
},
我注意到了相关的问题,但它们不符合我的要求.我知道从composer中排除文件夹的方法.
1> axiac..:
PhpStorm并不太关心你的composer.json
*.它在项目的文件中找到了两次定义的类,这就是它警告你的原因.
PHP并没有被两次定义的类所困扰.如果它从一个文件加载类(通过Composer生成的自动加载器),它永远不会读取另一个文件.
检测到重复项并确定要让PhpStorm忽略哪一项后,在项目视图中右键单击其目录,然后从出现的菜单中选择"将目录标记为" - >"排除".
*这不完全正确.默认情况下,PhpStorm配置为在项目的Composer文件中添加它找到的包作为库.但即使在项目中没有Composer文件的情况下,它也会警告类的重复定义.