Composer автозагрузка в пользовательском плагине Wordpress - PullRequest
0 голосов
/ 09 апреля 2020

Я разрабатываю новый плагин для Wordpress, и я хотел бы использовать Composer для автозагрузки классов.

Вот каталог каталогов плагинов :

enter image description here

my composer. json содержимое:

{
    "autoload": {
        "psr-4": {
            "G4S_ECommerce\\": "src"
        }
    }
}

В каталоге, где composer. json есть, на cmd , я выполняю:

composer install -> this generates the vendor/composer folder and the vendore/autoload.php.

composer composer dumpautoload -o -> outputs "Generated optimized autoload files containing 0 classes"

В основном файле G4S_Ecommerce. php Я поставил следующую строку:

 require __DIR__.'/vendor/autoload.php';

В тот же файл я положил

use G4S_Ecommerce\Includes\Ecommerce;

$starter = new Ecommerce();

, но это приводит меня к Неустранимая ошибка: необученная ошибка: класс 'G4S_Ecommerce \ Includes \ Ecommerce' не найден

Почему composer dumpautoload -o возвращает 0 классов? Что я делаю не так?

Спасибо

1 Ответ

0 голосов
/ 14 апреля 2020

Во-первых (это не очевидно из вашей файловой структуры), вам нужно установить пространство имен для вашего Ecommerce класса (т. Е. G4S_Ecommerce/Includes)

Во-вторых, на основе того, что вы объявили в В директиве автозагрузки composer ожидает найти папку G4S_Ecommerce в папке src, и в этой папке вам нужно поместить файл класса php с именем, идентичным имени класса (то есть Ecommerce ).

...