【发布时间】:2015-11-20 21:32:51
【问题描述】:
我在 Packagist 上有 2 个包。
https://packagist.org/packages/erayalakese/envato-market-api (A) https://packagist.org/packages/erayalakese/envato-update-checker(B)
B 需要 A。
现在我在我的项目中使用 B 包。但我收到 Class 'erayalakese\Envato_Update_Checker' (package B) not found 错误。
这是我的 composer.json 文件
{
"name": "",
"description": "",
"require": {
"erayalakese/envato-update-checker": "^1.3"
},
"authors": ...
}
还有我的项目文件:
<?php
require_once(__DIR__.'/vendor/autoload.php');
new erayalakese\Envato_Update_Checker(...);
当我将它作为临时解决方案添加到我的 composer.json 时,它正在工作:
"autoload": {
"classmap": ["vendor/"]
}
但我不确定我是否真的需要将 vendor 文件夹添加到 autoload 。我期待它会自动加载我的供应商。
你能告诉我我错过了什么吗?
【问题讨论】:
-
这样不行,你必须在调用方法之前要求并初始化类。或者您可以使用 PSR-4 并引用具有命名空间的类。 Composer classmap autoload.
-
我使用 classmap 作为临时解决方案。当我使用类映射时,它不需要一个一个类就可以工作。
标签: php json composer-php autoload