未找到类'App \ Http \ Controllers \ Controller' - Laravel 5.2

时间:2016-01-31 18:42:00

标签: php laravel-5 laravel-routing laravel-5.2

我是新来的,但我已经在这里检查了所有关于我的问题的解决方案,但仍然无法修复它。

我想在Laravel 5.2中使用教程创建简单的应用程序,但我无法让控制器工作。

我将我的应用命名为“test”,这是一个代码:

PagesController.php:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class PagesController extends Controller
{
    public function getAbout(){
         return view('about');   
    }
}

routes.php文件:

Route::get('about', [
    'as' => 'about',
    'uses' => 'PagesController@getAbout'
]);

和Controller.php(默认):

<?php

namespace test\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}

你觉得这里有什么问题吗? 我确信所有文件都在正确的文件夹中。

5 个答案:

答案 0 :(得分:3)

要使一切正确,请运行此。

php artisan app:name YourApplicationName 

它会将应用程序的所有内容更改为您的应用程序名称,因此您无需在任何地方手动编写测试

答案 1 :(得分:2)

如果 App / Http / Controllers / 文件夹没有 Controller.php 文件,也会出现错误。

确保文件存在。

答案 2 :(得分:1)

请更正页面控制器中的命名空间

<?php


namespace test\Http\Controllers;

use test\Http\Controllers\Controller;

class PagesController extends Controller
{
    public function getAbout(){
         return view('about');   
    }
}

更新:

在控制器中更改名称空间后,请转储 - 自动加载您的作曲家:

  

Composer dump-autoload

答案 3 :(得分:0)

我的控制器现在看起来像这样:

<?php

namespace test\Http\Controllers;

use test\Http\Controllers\Controller;

class PagesController extends Controller
{
    public function getAbout(){
     return view('about');   
    }
}

错误仍然存​​在

<强>更新

好的,我创建了一个新项目,并且它有效。我认为所有的asewrs都会对类似的问题有所帮助:))

感谢您的帮助!

答案 4 :(得分:0)

在我的情况下,我在controller.php中有两个命名空间,一个用于控制器,一个用于模型。

namespace App\Http\Controllers;

namespace App\Http\Models;

第二个人干扰了第一个人

我删除了第二个,瞧……代码起作用了