正在尝试自动加载某些文件。如果我在"根"作曲家.json 中执行此操作 - 它可以工作。但是当我要在"包作曲家.json"中加载类和文件时,它似乎根本不起作用。
我的"根"作曲家.json:
{
"repositories": [
{
"type": "git",
"url": "https://bitbucket.org/yuriikrevnyi/bitrix-teil-framework"
}
],
"require": {
"mockery/mockery": "dev-master@dev",
"phpunit/phpunit": "3.7.*",
"yuriikrevnyi/bitrix-teil-framework": "dev-master"
},
"autoload": {
"classmap": [
"vendor/yuriikrevnyi/bitrix-teil-framework/framework/src"
],
"files": [
"vendor/yuriikrevnyi/bitrix-teil-framework/framework/start.php"
]
}
}
和"包作曲家.json":
{
"name": "yuriikrevnyi/bitrix-teil-framework",
"description": "Framework for bitrix.",
"homepage": "https://bitbucket.org/yuriikrevnyi/bitrix-teil-framework",
"authors": [
{
"name": "Yurii Krevnyi",
"homepage": "https://bitbucket.org/yuriikrevnyi"
}
],
"autoload": {
"classmap": [
"vendor/yuriikrevnyi/bitrix-teil-framework/framework/src"
],
"files": [
"vendor/yuriikrevnyi/bitrix-teil-framework/framework/start.php"
]
}
}
如果我从"根作曲家.json"中删除自动加载 - 什么也没发生。
我正在使用 - 作曲家转储自动加载 -o,来加载文件。
有人可以帮我一点吗?谢谢!
您不应该引用供应商目录。Composer 为您处理该目录,但您不应该假设其中会存在某些内容。
假设您希望自动加载的类文件在$workDIR."yuriikrevnyi/bitrix-teil-framework/src"
中,并且 start.php 位于该目录下方的目录中,则 $workDIR."yuriikrevnyi/bitrix-teil-framework/
中的 composer.json 应将类映射和文件条目定义为:
"autoload": {
"classmap": [
"src/"
],
"files": [
"start.php"
]
}
当 Composer 将该依赖项拉入主项目时,它将修改条目以指向供应商目录中的正确位置。