其实不只是get方法,all()等方法都不能被静态调用
原因如下:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Illuminate\Http\Request; 这个类里面根本没有把这些方法注册为静态方法,这也是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());
}
}