簡體   English   中英

作曲家自動加載PSR-0找不到類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM