2017-07-21 113 views
1

我想打電話給控制器類中的靜態函數從web.php.如何使用laravel 5.4

在控制器,

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class RoutePackageController extends Controller 
{ 
    static function callingroutes() { 
     Route::group(array('prefix' => 'account'), function() { 
      Route::get('/userhome', function() 
       { 
        return view('welcome'); 
       }); 
     }); 

    } 
} 

在web.php,訪問內部控制器功能從web.php

\App\Http\Controllers\RoutePackageController::callingroutes(); 

但它會拋出異常錯誤。

[Symfony的\分量\調試\異常\ FatalThrowableError]類 'RoutePackageController' 未找到

回答

0

你應該定義你的路由裏面web.php像這樣:

Route::group(array('prefix' => 'account'), function() { 
    Route::get('/userhome', '[email protected]'); 
}); 

無需定義控制器內部的路由,然後讓控制器在匿名函數內動作。

現在我們定義控制器,請注意web.php中的方法,而不是我們傳遞一個字符串的匿名函數。該字符串與控制器類名稱和方法對齊。

class WelcomeController extends Controller 
{ 
    public function index() 
    { 
     return view('welcome'); 
    } 
}