我正在创建一个模块,我将包括在几个项目。然而,在使用该模块的项目中,自动加载器似乎不包括模块中的类。
模块结构(etc)如下:
git仓库目录结构:
/
/composer.json
/src/
/src/EbayAPI.php
composer.json
:
{
"name": "jodes/ebay-api",
"autoload": {
"psr-4" : {
"Jodes\EbayAPI\" : "src"
}
}
}
EbayAPI.php:
<?php
namespace Jodes;
class EbayAPI {}
我试图包含它的应用程序有以下内容:
composer.json
:
{
"require": {
"behat/behat": "@stable",
....other requirements in here...
"jodes/ebay-api": "dev-master"
},
"config": {
"bin-dir": "bin/"
},
"repositories": [
{
"type": "vcs",
"url": "https://Jody@bitbucket.org/Jody/ebay_api.git"
}
]
}
要通过自动加载器使用我的包的php文件是:
<?php
use JodesEbayAPI;
require_once 'vendor/autoload.php';
class HelloWorld {
public function __construct(){
$ebay = new EbayAPI();
}
}
我得到的错误是致命错误:类'JodesEbayAPI'未找到
我做错了什么?由于
由@Danack在聊天中提供,解决方案很简单:
将"Jodes\EbayAPI\" : "src"
改为"Jodes\" : "src"
(一旦他发布了他的答案,我会删除这个答案)