0

我正在使用 psr-4 来自动加载和创建命名空间。但我收到了这个错误:

Fatal error: Class 'Models\User' not found in /app/routes/users.php on line 7

我的架构

app
---routes
------users.php
---VDB
------Models
---------User.php

在此处输入图像描述

这是我的 composer.json

{
    "autoload": {
        "psr-4": {
            "VDB\\": "app/VDB"
        }
    },
    "require": {
        "slim/slim": "~2.0",
        "slim/views": "^0.1.3",
        "twig/twig": "^1.23",
        "illuminate/database": "~5.0"
    }
}

我的用户.php

<?php

namespace VDB\Models;

use Illuminate\Database\Eloquent\Model as Eloquent;

class User extends Eloquent {

}

我的路线

<?php

use \Models\User;

$app->get('/users/:username', function($username) use ($app) {

    $user = User::where('username', $username)->first();

    var_dump($user);

})->name('users');

我已经尝试过 composer dump-autoload 但它没有用。还有谁能想一想?

4

1 回答 1

1

您需要修复您的导入:

use VDB\Models\User;

如果仍然找不到该类,请尝试运行

$ composer dump-autoload 

有关参考,请参阅https://getcomposer.org/doc/03-cli.md#dump-autoload

于 2015-12-25T14:15:59.073 回答