composer autoload无法正确加载文件

时间:2018-01-05 19:09:05

标签: php composer-php autoload

我有自动加载文件的问题,我试图找到一些解决方案,但没有运气。这是我的文件结构:

my-site
- src
- - app
- - - core
- - - - App.php
- vendor
index.php
composer.json

这是我的composer.json

"autoload": { "psr-4": { "App\\":"src" } } 这是我的App.php文件:

namespace App\Core;
class App {}

现在,如果我尝试(进入index.php)

require_once __DIR__ . '/vendor/autoload.php';
use App\Core\App;
var_dump( class_exists('App') );

我哪里错了?

感谢。

我发现了我的问题,在我的情况下问题是转储自动加载,我试过这样:

composer dumpautoload -o

现在有效了,谢谢你们!

2 个答案:

答案 0 :(得分:3)

假设您的App.php具有基于您的目录结构的以下命名空间

<?php
namespace App\Core;

class App {
....

}

然后

"autoload": {
    "psr-4": {
        "App\\":"src"
    }
}

基本上它说包应用 src 文件夹的根目录开始。

my-site
- src
- - app
- - - core
- - - - App.php
- vendor
composer.json
index.php (the file that is doing the autoload if not at this level you need to adjust the file path for loading)

答案 1 :(得分:0)

我发现了我的问题,在我的情况下问题是转储自动加载,我试过这样:

composer dumpautoload -o

现在有效了,谢谢你们!