使用作曲家加载git仓库 - 自动加载问题



我有一个github存储库https://github.com/koulslou/ups,我想将其添加到我的项目中。

在项目root i创建composer.json文件并定义以下自动加载属性:

{
    "autoload": {
        "files": [
            "libraries/Ups/Ups.php",
            "libraries/Ups/Ups_Base.php",
            "libraries/Ups/Ups_Base_Response.php",
            "libraries/Ups/Ups_Live_Rates.php"
        ]
    }
}

我运行

php composer.phar install 

存储库正在下载,但看起来自动加载器不起作用。当我尝试初始化其中一个类

$test = new Ups()

我有以下错误:

Fatal error: Class 'Ups' not found in application/....

我是否错误地定义了"自动加载"属性?

我建议不要使用"文件"自动加载器,因为那不是很自动 - 此处提到的文件始终包括在内。用" classmap"替换它会更好。然后,您不需要提及所有文件,但是您可以简单地说明要扫描上课的目录。

现在我在任何地方都看不到的东西:您是否在任何地方初始化了作曲家的自动加载器?这通常是

require "vendor/autoload.php";

finaly,我发现了问题所在。我试图加载的项目中的composer.json文件 - UPS库 - 无效。运行时我可以下载文件:

composer.phar install

,但看起来像composer.json文件被忽略了。我跑了

时发现了它
composer.phar update

并得到

No valid composer.json was found

使用选项-v,我遇到了"名称"是未定义的索引的错误。因此,我只是将"名称"字段添加到composer.json。最终版本是:

{
    "name":"KoulSlou/UPS",
    "autoload": {
        "files": [
            "libraries/Ups/Ups.php",
            "libraries/Ups/Ups_Base.php",
            "libraries/Ups/Ups_Base_Response.php",
            "libraries/Ups/Ups_Live_Rates.php"
         ]
    }
}

相关内容

  • 没有找到相关文章

最新更新