[英]composer autoload psr-4 not working
I'm using psr-4 to autoload and create a namespace. 我正在使用psr-4自动加载并创建名称空间。 But I'm getting this error:
但我收到此错误:
Fatal error: Class 'Models\User' not found in /app/routes/users.php on line 7
My architecture 我的建筑
app
---routes
------users.php
---VDB
------Models
---------User.php
This is my composer.json 这是我的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"
}
}
My User.php 我的User.php
<?php
namespace VDB\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class User extends Eloquent {
}
My Route 我的路线
<?php
use \Models\User;
$app->get('/users/:username', function($username) use ($app) {
$user = User::where('username', $username)->first();
var_dump($user);
})->name('users');
I already tried composer dump-autoload but it didn't work. 我已经尝试过作曲家dump-autoload,但没有用。 Anybody else who can think about something?
还有其他人可以考虑的事情吗?
You need to fix your import: 您需要修复导入:
use VDB\Models\User;
If the class still can't be found, try running 如果仍然找不到该类,请尝试运行
$ composer dump-autoload
For reference, see https://getcomposer.org/doc/03-cli.md#dump-autoload . 作为参考,请参阅https://getcomposer.org/doc/03-cli.md#dump-autoload 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.