作曲家自动加载



正在尝试自动加载某些文件。如果我在"根"作曲家.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 将该依赖项拉入主项目时,它将修改条目以指向供应商目录中的正确位置。

相关内容

  • 没有找到相关文章

最新更新