Php 使用composer加载git repo-自动加载问题
我有一个github存储库,我想将其添加到我的项目中 在项目根目录中,我创建了composer.json文件并定义了以下自动加载属性:Php 使用composer加载git repo-自动加载问题,php,git,composer-php,autoloader,Php,Git,Composer Php,Autoloader,我有一个github存储库,我想将其添加到我的项目中 在项目根目录中,我创建了composer.json文件并定义了以下自动加载属性: { "autoload": { "files": [ "libraries/Ups/Ups.php", "libraries/Ups/Ups_Base.php", "libraries/Ups/Ups_Base_Response.php", "
{
"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
正在下载存储库,但autoloader似乎不工作。当我尝试初始化其中一个类时
$test = new Ups()
我得到了以下错误:
Fatal error: Class 'Ups' not found in application/....
我是否错误地定义了“自动加载”属性?我建议不要使用“文件”自动加载程序,因为这不是非常自动的-这里提到的文件总是包含在内。用“classmap”替换它会更好。然后你不需要提及所有的文件,但是你可以简单地说明你想要扫描的目录中的类
现在我在任何地方都看不到:你在任何地方初始化过作曲家的自动加载器吗?这通常是类似于
require "vendor/autoload.php";
最后,我发现了问题所在。我试图加载的项目中的composer.json文件无效。我可以在运行以下命令时下载文件:
composer.phar install
但看起来composer.json文件被忽略了。我跑的时候发现的
composer.phar update
得到
No valid composer.json was found
使用选项-v时,我得到一个错误,即“name”是未定义的索引。因此,我只是在composer.json中添加了“name”字段。最终版本为:
{
"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"
]
}
}
是的,我在index.php文件中有一行“require_once APPLICATION_PATH./../vendor/autoload.php”;(我使用的是Zend Framework)。其他composer软件包已成功上载,但使用我的github repo,我收到了此致命错误。乍一看,您所做的一切对我来说都是正常的,即使使用“文件”自动加载定义,并且在使用类之前包括自动加载。然而,如果它仍然不起作用,那么某个地方就坏了。您是否尝试过添加
die('here')您假定将采用的代码路径中的代码>语句?脚本应该停止并回显文本。我会在“Ups”文件的开头添加这样一个骰子,以确保该文件被加载,然后移动它以查看代码的哪些部分被执行。此外,确保display_errors
处于打开状态,并且error_reporting
最大值为“E_ALL”。