[英]Composer autoload psr-0 doesn't find class
這是我的項目結構
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。
我究竟做錯了什么 ?
您正在使用符號PSR-4 ,因此您需要使用PSR-4。 PSR-0不允許在類名稱的任何部分之間使用代調路徑。 如果要使用它,則需要將src/managers/ApiManager.php
移動到src/PicoApi/Managers/ApiManager.php
然后
"psr-0": {
"PicoApi\\": "src"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.