Автоматическое создание пространств имен с помощью Composer для AWS SDK - PullRequest
0 голосов
/ 23 апреля 2019

Я разрабатываю плагин для WordPress, который требует от меня использования AWS SDK. Я использую Composer для установки зависимостей в моем проекте и хотел бы использовать функцию автозагрузки Composer, чтобы AWS SDK мог находиться в моем собственном пользовательском пространстве имен. Это предотвратит конфликты с другими плагинами, которые также могут использовать AWS SDK.

Вот так выглядит мой файл 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 SDK содержится более 250 файлов, и у каждого файла есть это пространство имен в начале файла -

namespace Aws\(some_folder_name);

Есть ли способ, которым я могу использовать composer, чтобы пространство имен было примерно таким -

namespace ABC\XYZ\Aws\(some_folder_name);

(возможно, я ошибаюсь, но я подумал, что это то, что делает атрибут автозагрузки в composer.json).

Я пытался возиться с файлами внутри каталога /vendor/composer (например, изменение там атрибутов автозагрузки и обновление композитора), но безрезультатно.

Простой способ сделать это - просто просмотреть все файлы в SDK и вручную изменить пространства имен, но это очень утомительно, учитывая количество файлов, и я чувствую, что должен быть простой способ, потому что я смотрел на код другого плагина, который я использую, который также использует AWS SDK, и у этих ребят есть пространство имен именно так, как я хочу. Я попытался сопоставить мой файл composer.json с их файлом, но это не сработало.

Любая помощь приветствуется! Спасибо!

...