我正在为WordPress开发一个插件,这要求我使用AWS开发工具包。我正在使用Composer在项目中安装依赖项,并希望使用Composer的自动加载功能,以便AWS开发工具包可以位于我自己的自定义名称空间中。这样可以避免与可能也使用AWS开发工具包的其他插件发生冲突。
这是我的composer.json文件的样子
{
"autoload" : {
"psr-4" : {
"ABC\\XYZ\\Aws\\" : "vendor/aws/aws-sdk-php/src/",
}
},
"require": {
"aws/aws-sdk-php": "^3.92"
}
}
当我运行composer install时,它将在我的项目目录中创建一个vendor
目录和一个composer.lock
文件。
AWS开发工具包中有250多个文件,每个文件在文件的开头都有这个名称空间-
namespace Aws\(some_folder_name);
有没有一种方法可以使用作曲家来命名空间-
namespace ABC\XYZ\Aws\(some_folder_name);
(我可能是错的,但我认为这就是composer.json中的autoload属性所做的事情。)
我曾尝试弄乱/vendor/composer
目录中的文件(例如修改该目录中的autoload属性并更新作曲家),但无济于事。
一种简单的方法是遍历SDK中的所有文件并手动更改名称空间,但是考虑到文件数量,这非常繁琐,我觉得必须有一种简单的方法,因为我查看的是我正在使用的另一个插件的代码,该代码也使用了AWS开发工具包,所以这些家伙的命名空间完全符合我的期望。我尝试将composer.json文件与他们的文件进行匹配,但这没有用。
感谢您的帮助!谢谢!