我想让Composer加载我的PHP类。根据命名空间,我按照目录结构工作。
例如,当\MyCompany\MyProject\Class1
位于src/MyCompany/MyProject/Class1.php
时,我的课程"autoload": {
"psr-0": { "MyCompany\\MyProject\\": "src/" }
}
就会被加载。我使用这个作曲家设置:
src/Class1.php
但是,我不想将所有我的文件放到MyCompany目录中,因为它是src中唯一的文件。我知道Java就是这样,但仍然如此。有没有办法设置Composer所以当它们直接在src中时会加载我的类?例如,来自档案{{1}}。
编辑:PSR-4直接解决了这个问题,虽然类图仍然有效(并且建议用于生产设置)。
答案 0 :(得分:4)
这个怎么样?
"autoload": {
"classmap": [
"src"
]
}
答案 1 :(得分:1)
另一种方法是使用PSR-4,特别是如果你有多个类,即
"autoload": {
"psr-4": { "MyCompany\\MyProject\\": "src/" }
}
这应该让你正确的位置。但是,正如我自己的经验所说,这可能需要一些修补,直到你做对了。点击此处:http://seld.be/notes/psr-4-autoloading-support-in-composer