Laravel 4.2 至 5 Class 'App\Http\Controllers\Controller' 未找到
Laravel 4.2 to 5 Class 'App\Http\Controllers\Controller' not found
我升级了我的项目from Laravel 4.2 to 5.0,但是当我完成这个过程时出现这个错误:
Class 'App\Http\Controllers\Controller' not found' in .../app/Http/Controllers/Auth/AuthController.php:8
但是提到的控制器在那里,在 app/Http/Controllers/Controller.php.
也在composer.json中定义,自动加载,classmap:
"autoload": {
"classmap": [
"database",
"app/Http/Controllers",
"app/Libraries"
],
"psr-4": {
"App\": "app/"
}
},
显然这是一个命名空间问题,但我不知道如何解决它
只需将 file/directory 添加到您的作曲家即可。
"autoload": {
"classmap": [
"app/Http/Controllers/Controller.php"
],
还有很多其他方法。
或者使用 psr-0,psr-4 来自动加载 directory/file。或者您在 global.php.
中加载此文件
在 99% 的情况下,将 Laravel 4 项目迁移到 Laravel 5 时找不到 类 的主要原因是缺少 命名空间
向所有 类、控制器、作为中间件的旧过滤器等添加名称空间很重要
我遇到了同样的问题。按照升级指南 (http://laravel.com/docs/5.0/upgrade#upgrade-5.0) 迁移很顺利,但是当我开始使用 Auth 时,我遇到了同样的错误。
原因是我遵循了升级指南。当它说 "Since we are not going to migrate to full namespacing in this guide" 时,实际上你应该在你的控制器中使用命名空间,并在它们的顶部
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
然后展开您在升级指南的“控制器”部分所做的操作。然后运行composer dump-autoload
后就可以了
我升级了我的项目from Laravel 4.2 to 5.0,但是当我完成这个过程时出现这个错误:
Class 'App\Http\Controllers\Controller' not found' in .../app/Http/Controllers/Auth/AuthController.php:8
但是提到的控制器在那里,在 app/Http/Controllers/Controller.php.
也在composer.json中定义,自动加载,classmap:
"autoload": {
"classmap": [
"database",
"app/Http/Controllers",
"app/Libraries"
],
"psr-4": {
"App\": "app/"
}
},
显然这是一个命名空间问题,但我不知道如何解决它
只需将 file/directory 添加到您的作曲家即可。
"autoload": { "classmap": [ "app/Http/Controllers/Controller.php" ],
还有很多其他方法。 或者使用 psr-0,psr-4 来自动加载 directory/file。或者您在 global.php.
中加载此文件在 99% 的情况下,将 Laravel 4 项目迁移到 Laravel 5 时找不到 类 的主要原因是缺少 命名空间
向所有 类、控制器、作为中间件的旧过滤器等添加名称空间很重要
我遇到了同样的问题。按照升级指南 (http://laravel.com/docs/5.0/upgrade#upgrade-5.0) 迁移很顺利,但是当我开始使用 Auth 时,我遇到了同样的错误。
原因是我遵循了升级指南。当它说 "Since we are not going to migrate to full namespacing in this guide" 时,实际上你应该在你的控制器中使用命名空间,并在它们的顶部
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
然后展开您在升级指南的“控制器”部分所做的操作。然后运行composer dump-autoload
后就可以了