问题
I have create a custom composer package but I am having troubles to set the correct autoload options for it.
All my classes are under MyNamespace/Common
namespace. So for example for including my ArrayHelper
class I do use Mynamespace/Common/Helper/ArrayHelper
.
This is the relevant part of my composer.json
:
"autoload": {
"psr-0": { "MyNamespace\\": "" }
}
I have read this: composer.json / autoload
Any help?
回答1:
You have to navigate the file location of your namespace.
"autoload": {
"psr-0": { "MyNameSpace": "./<path to your parent directory>" }
}
For example, this is my directory structure:
composer.json
source
\-Data
|-Controller
\-Repository
Then, in the composer.json file:
"autoload": {
"psr-0": { "MyNameSpace": "source/Data" }
}
Then, I can call the namespace from PHP by
/* namespace for classes in controller directory */
namespace MyNameSpace\Controller
/* namespace for classes in repository directory */
namespace MyNameSpace\Repository
来源:https://stackoverflow.com/questions/18146057/composer-autoloader-psr-0-namespaces