其實不只是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());
}
}