Php Laravel 5\Http\Request具有不允许静态调用的方法
我正试图从我的一个控制器调用illumb\Http\Request has方法Php Laravel 5\Http\Request具有不允许静态调用的方法,php,laravel,Php,Laravel,我正试图从我的一个控制器调用illumb\Http\Request has方法 Request::has('fields') 完全按照文档中的说明进行操作,但我遇到了一个错误: 假设$this来自不兼容的上下文,则不应静态调用非静态方法illumb\Http\Request::has() 我不确定我在这里做错了什么,我试着尽可能地遵循文档。问题是您使用了错误的请求类。您需要导入外观: use Illuminate\Support\Facades\Request; 尝试使用Input::has
Request::has('fields')
完全按照文档中的说明进行操作,但我遇到了一个错误:
假设$this来自不兼容的上下文,则不应静态调用非静态方法illumb\Http\Request::has()
我不确定我在这里做错了什么,我试着尽可能地遵循文档。问题是您使用了错误的
请求
类。您需要导入外观:
use Illuminate\Support\Facades\Request;
尝试使用Input::has()代替,然后使用Input::get()实际获取相应的POST/get变量。使用Illumb\Support\Facades\Request;使用门面是不好的做法。应使用Illumb\Http\Request;并通过方法或构造函数ie获得可用的请求-
public function __construct(Request $request) {
$this->request = $request;
}
然后在方法中使用它,即
public function checkText() {
$txt = $this->request->has('txt');
return $txt;
}
非常感谢。他们应该更新文档来解释这一点。使用一些简单的方法,您可以从Lightlight\Http\Request实例访问所有用户输入。您不必担心用于请求的HTTP谓词,因为所有谓词都以相同的方式访问输入。不客气。是的,没错。但是,实际上您甚至不需要导入任何类,因为在
app.php
中注册了一个别名。然而,IDE并没有真正理解这一点。这是正确的方法/解释