首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >composer自动加载psr-4不工作

composer自动加载psr-4不工作
EN

Stack Overflow用户
提问于 2015-12-25 22:07:57
回答 1查看 2.1K关注 0票数 0

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

代码语言:javascript
复制
Fatal error: Class 'Models\User' not found in /app/routes/users.php on line 7

我的架构

代码语言:javascript
复制
app
---routes
------users.php
---VDB
------Models
---------User.php

这是我的composer.json

代码语言:javascript
复制
{
    "autoload": {
        "psr-4": {
            "VDB\\": "app/VDB"
        }
    },
    "require": {
        "slim/slim": "~2.0",
        "slim/views": "^0.1.3",
        "twig/twig": "^1.23",
        "illuminate/database": "~5.0"
    }
}

我的User.php

代码语言:javascript
复制
<?php

namespace VDB\Models;

use Illuminate\Database\Eloquent\Model as Eloquent;

class User extends Eloquent {

}

我的路线

代码语言:javascript
复制
<?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,但它不起作用。还有谁能想出点什么来?

EN

回答 1

Stack Overflow用户

发布于 2015-12-25 22:15:59

您需要修复您的导入:

代码语言:javascript
复制
use VDB\Models\User;

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

代码语言:javascript
复制
$ composer dump-autoload 

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34463547

复制
相关文章

相似问题

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