Laravel请求未定义的方法

时间:2016-09-23 23:09:31

标签: php laravel laravel-5.2

我正在使用Laravel 5.2,并将$ request:

传递给我的控制器方法
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

此方法fullUrl在Request.php文件中退出...

有什么问题?

2 个答案:

答案 0 :(得分:3)

您正在导入Request Facade ,当您在控制器的方法中键入提示时,它正在解析为Request Facade实例。

而是导入实际的Request对象:

use Illuminate\Http\Request;

如果您也必须使用外观,您可以执行以下操作:

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

答案 1 :(得分:1)

Request移除use Input, Session, Exception, Request; 并添加新行:

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(); 
   }

}

希望这对你有所帮助!