Я создал собственный пакет композиторов, но у меня возникли проблемы с настройкой правильных параметров автозагрузки.
Все мои классы находятся в пространстве имен MyNamespace/Common
. Так, например, для включения моего класса ArrayHelper
я использую Mynamespace/Common/Helper/ArrayHelper
.
Это важная часть моего composer.json
:
"autoload": { "psr-0": { "MyNamespace\\": "" } }
Я прочитал это: composer.json / autoload
Любая помощь?
Вы должны перемещаться по местоположению файла вашего пространства имен.
"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