2016-09-23 43 views
0

I'm使用Laravel 5.2,並傳遞給我的控制器方法$要求:Laravel請求未定義的方法

namespace App\Http\Controllers; 
use Input, Session, Exception, Request; 

class WebController extends Controller { 

    public function myfunction(Request $request) { 
     $request->fullUrl(); 
    } 

} 

但Laravel回我這個錯誤:

Call to undefined method Illuminate\Support\Facades\Request::fullUrl() 

在文檔的5.2版本的所有是正確的: https://laravel.com/docs/5.2/requests

在Request.php文件,該方法fullUrl退出...

問題是什麼?

回答

3

要導入的Request門面,當你輸入你的控制器的方法,提示其解析爲一個Request門面實例。

相反,導入實際Request對象:

use Illuminate\Http\Request; 

如果必須使用的門面,以及,你可以這樣做:

use Illuminate\Http\Request; 
use Request as RequestFacade; 
1

剛剛從use Input, Session, Exception, Request; 刪除Request和添加新line:

use Illuminate\Http\Request; 

所以最終的代碼看起來像:

namespace App\Http\Controllers; 
use Input, Session, Exception; 
use Illuminate\Http\Request; 

class WebController extends Controller { 

    public function myfunction(Request $request) { 
     $request->fullUrl(); 
    } 

} 

希望這對你有幫助!