Laravel 5 IlluminateHttpRequest具有不允许静态调用的方法


Laravel 5 IlluminateHttpRequest has method not allowing static call

我正试图从我的一个控制器调用Illuminate''Http''Request has方法。

Request::has('fields')

确切地说,以下是文档,但我得到了一个错误抛出:

假设$this来自不兼容的上下文,则不应静态调用非静态方法Illuminate''Http''Request::has()

我不确定我在这里做错了什么,我试着尽可能仔细地遵循文档。

问题是您使用了错误的Request类。你需要导入立面:

use Illuminate'Support'Facades'Request;

使用Illuminate''Support '' Facades''Request;正在使用Facade,这不是一个好的做法。应使用Illuminate''Http''Request;并通过方法或构造函数获得可用的请求,即-

public function __construct(Request $request) {
    $this->request = $request;
}

然后在方法中使用它,即

public function checkText() {
   $txt = $this->request->has('txt'); 
   return $txt;
}

请尝试使用Input::has(),然后使用Input::get()来实际获取相应的POSTED/get变量。