簡體   English   中英

找不到類“App\\Http\\Controllers\\Controller” - Laravel 5.2

[英]Class 'App\Http\Controllers\Controller' not found - Laravel 5.2

我是新來的,但我已經在這里檢查了有關我的問題的所有解決方案,但仍然沒有解決。

我想在 Laravel 5.2 中使用教程創建簡單的應用程序,但我無法讓我的控制器工作。

我將我的應用程序命名為“test”,這是一個代碼:

頁面控制器.php:

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

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

路線.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;
}

你看這里有什么問題嗎? 我確定所有文件都在正確的文件夾中。

如果App/Http/Controllers/文件夾沒有Controller.php文件,也會發生錯誤。

確保文件存在。

為了使一切正確,運行這個。

php artisan app:name YourApplicationName 

它會將 app 中的所有內容更改為您的應用程序名稱,因此您無需到處手動編寫測試

請更正頁面控制器中的命名空間

<?php


namespace test\Http\Controllers;

use test\Http\Controllers\Controller;

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

更新 :

更改控制器中的命名空間后,請轉儲自動加載您的作曲家:

Composer 轉儲自動加載

我的控制器現在看起來像這樣:

<?php

namespace test\Http\Controllers;

use test\Http\Controllers\Controller;

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

錯誤仍然存​​在

更新:

好的,我創建了一個新項目,它最終有效。 我認為所有的答案都會對類似的問題有所幫助:)

感謝幫助 !

在我來說,我有兩個命名一個控制器和一個在模型controller.php

namespace App\Http\Controllers;

namespace App\Http\Models;

第二個干擾了第一個

我刪除了第二個,瞧......代碼有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM