2016-04-10 50 views
0

當試圖加載我的主索引我下面的錯誤。 ErrorLaravel 5反射異常

我花了幾個小時試圖解決這個問題,我的文件如下:

-routes.php

<?php 

    Route::get('/', [ 
     'uses' => '\instyle\Http\Controllers\[email protected]', 
     'as' => 'home', 
    ]); 

-Controller.php

<?php 

namespace instyle\Http\Controllers; 

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

-HomeController。 php

<?php 

namespace instyle\Http\Controllers; 

class HomeController extends Controller 
{ 
    public function index() 
    { 
     return view('home'); 
    } 
} 

和我的文件夾如下

--instyle 
-- --app 
-- -- -- Http 
-- -- -- -- Controllers 
-- -- -- -- -- Controller.php 
-- -- -- -- -- HomeController.php 
-- -- -- Requests 
-- -- -- -- Kernel.php 

任何想法,我搞砸了?

+0

如果你只引用'的HomeController @ index'會發生什麼? –

+0

順便說一下,你是否在項目的開始階段設置了app:name? –

+0

如果我只參考HomeController @ index我得到一個「HomeController.php中的FatalErrorException第4行:類'app \ Http \ Controllers \ BaseController'找不到」因此,它看起來像BaseController,這是什麼abrstract類控制器繼承存在。 不laravel5使用基本控制器? – EChan42

回答

4

您的命名空間不對。該項目文件夾可能不應該是其中的一部分,你忘記了app部分。試試這個命名空間中的兩個控制器:

namespace App\Http\Controllers; 

然後你的路線將使用此方法調用:

'uses' => '\App\Http\Controllers\[email protected]', 
+0

命名空間的應用程序部分與他在'app:name' artisan命令中設置的內容有關。如果他將命名空間設置爲「instyle」,那麼根據通常的命名空間標準就不會是正確的。 –

+0

我知道,但初學者不太可能改變了命名空間。要求他們嘗試默認名稱空間是一個好主意。 –

+0

確實......我問過他,讓我們看看他的回答,我們可以給他更好的建議。 –