Подтвердить что ты не робот

Компоновщик автозагрузчиков psr-0

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

Все мои классы находятся под MyNamespace/Common пространством имен. Например, для включения моего класса ArrayHelper я использую Mynamespace/Common/Helper/ArrayHelper.

Это важная часть моего composer.json:

"autoload": {
    "psr-0": { "MyNamespace\\": "" }
} 

Я прочитал: composer.json/autoload

Любая помощь?

4b9b3361

Ответ 1

Вам нужно перемещаться по местоположению файла вашего пространства имен.

"autoload": {
    "psr-0": { "MyNameSpace": "./<path to your parent directory>" }
}

Например, это моя структура каталогов:

composer.json
source
  \-Data
    |-Controller
    \-Repository

Затем в файле composer.json:

"autoload": {
    "psr-0": { "MyNameSpace": "source/Data" }
}

Затем я могу назвать пространство имен с PHP

/* namespace for classes in controller directory */
namespace MyNameSpace\Controller
/* namespace for classes in repository directory */
namespace MyNameSpace\Repository