使用针对AWS开发工具包的Composer自动生成名称空间

时间:2019-04-23 00:19:07

标签: wordpress composer-php aws-sdk autoloader aws-php-sdk

我正在为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文件与他们的文件进行匹配,但这没有用。

感谢您的帮助!谢谢!

0 个答案:

没有答案