本人laravel学习新手,跟着网上的教程判断获取请求方式的时候的时候出了一些问题,我根据这些问题总结出了该文章,与其说是文章不如说是我的“错题本”。
教程用的是laravel5.*,而我学校要求用的是6.*(这是前提)
当在自动验证是有一判断请求方式的过程,当时在教程中控制器中写的是,但是我自己操作时会报以下错误
Class ‘App\Http\Controllers\input’ not found
public function test(){
if(Input::method() == 'POST'){
//代码段
}else{
//代码段
}
}
因为是自学而且网上大部分是laravel5的教程(至少我看到的都是),根据网上的资料,得到:首先laravel6中将input换成了request。
然后根据方法的引用,我首先想到的是实例化request这个对象,然后再去引用method(),但是这样得到的结果都是get。
public function test13(){
$Request = new request();
echo $Request -> method();
var_dump($Request -> all());
//判断请求类型
if($Request -> method() == 'POSt'){
//验证
}else{
//展示视图
return view('home/test/test13');
}
}
然后将判断改成这样就可以了
public function test13(Request $request){
if(Request::isMethod('get')){
echo '123';
}else{
echo 'abc';
}
return view('home/test/test13');
}
在用该方法是还需在控制器上方加,
use Illuminate\Support\Facades\Request;
如果用原控制器引用的Request类的话报以下错误
Non-static method Symfony\Component\HttpFoundation\Request::isMethod() should not be called statically
大一小白,我不想接受社会的毒打,请大佬们嘴下留情,如果思路不合适的话,请告诉我加以改正,如果有错误的话,还麻烦各位指出。