IlluminateHttpRequest::get() should not be called statically
其实不只是get方法,all()等方法都不能被静态调用
原因如下:
<?php namespace App;
use IlluminateDatabaseEloquentModel;
use IlluminateHttpRequest;
use IlluminateHttpRequest; //这个类里面根本没有把这些方法注册为静态方法,这也是laravel框架多年来的一个诟病,他在Illuminate里面构建了这个Request类,而且这个类在IDE里面还会被优先提示,导致出来的不能用。
可以改为:
1、使用基础类,这个IDE压根不提示,找不到,郁闷,当然他能正常工作
use Request;
2、找那个包含有静态方法的Request类
use Illuminate\Support\Facades\Request;
3、直接写在方法参数里面,说高大上一点就是依赖注入……
use Illuminate\Http\Request;
public function sign_up_user(Request $request){
dd($request->all());
}
4、和第三种方法用法一样,不过是直接写在构造方法里面的
use Illuminate\Http\Request;
class YourController extends Controller
{
protected $request;
public function __construct(Request $request)
{
$this->request = $request;
}
public function sign_up_user(Request $request){
dd($this->request->all());
}
}
如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术
转载请注明:Illuminate\Http\Request::get() should not be called statically 出自老鄢博客 | 欢迎分享