这是我的项目结构
api
|
PicoApi
|
managers
|
ApiManager.php
composer.json
index.php
这就是我的作曲家的样子:
{
"autoload": {
"psr-0": {
"PicoApi\\": "",
"PicoApi\\Managers\\" : "managers"
}
}
}
这是我的index.php:
//require Pico Api autoload
require 'vendor/autoload.php';
use PicoApi\Managers\ApiManager;
try {
//initialize the API
ApiInitializer::initialize();
//initialize a new Api with the request
$api = new ApiManager($_REQUEST['request']);
echo utf8_encode($api->processApi());
} catch (Exception $e) {
echo json_encode(Array(Error::jsonErrorField() => $e->getMessage()));
}
在我的ApiManager.php中,我包括:namespace PicoApi\Managers;
然而我收到的错误是它找不到ApiManager.php。
将作曲家更改为psr-4时,它确实有效,但我希望它是psr-0。
我做错了什么?
答案 0 :(得分:0)
您使用的是注释PSR-4,因此需要才能使用PSR-4。 PSR-0不允许类名的任何部分之间的代理路径。如果您想使用它,则需要在src/managers/ApiManager.php
然后
src/PicoApi/Managers/ApiManager.php
"psr-0": {
"PicoApi\\": "src"
}