首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Composer autoload psr-0找不到类

Composer autoload psr-0找不到类
EN

Stack Overflow用户
提问于 2015-05-31 08:37:33
回答 1查看 291关注 0票数 2

这是我的项目结构

代码语言:javascript
复制
api
 |
 PicoApi
    |
     managers
             |
              ApiManager.php
     composer.json     
 index.php

我的作曲家是这样的:

代码语言:javascript
复制
{
    "autoload": {
        "psr-0": {
            "PicoApi\\": "",
            "PicoApi\\Managers\\" : "managers"
        }
    }
}

这是我的index.php:

代码语言:javascript
复制
//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。

我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-31 08:50:44

您使用的是符号PSR-4,所以需要来使用PSR-4。PSR-0不允许类名的任何部分之间有一条调解路径。如果您想使用它,则需要在src/managers/ApiManager.php中移动src/PicoApi/Managers/ApiManager.php

代码语言:javascript
复制
"psr-0": {
    "PicoApi\\": "src"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30555437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档