Я разрабатываю плагин для 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 с их файлом, но это не сработало.
Любая помощь приветствуется! Спасибо!