laravel的资源路由resource

  最近在学习laravel,在需要在路由中参数的时候发现了一个很好玩的懂西resource路由特地记下期详细用法

 

路由列表

Route::resource('re','Admin\ReController');

 Controller 

<?php
 
namespace App\Http\Controllers\Admin;
 
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Input;
 
class ReController extends Controller
{
    //get.re  全部分类列表
    public function index($id = null){
        echo "这里是index方法不能传入参数";
    }
       //get.re/create   添加分类
    public function create(){
        echo "这里是create方法不能传入参数";
    }
    //post.re  添加分类提交
    public function store(){
        echo "这里是store方法不能传入参数";
    }
    //get.re/{id}  显示单个分类
    public function show($id){
        echo "这里是show方法传入的参数是:".$id;
        dd(Input::all());
    }
    //get.re/{id}/edit    更新分类
    public function edit($id){
        echo "这里是edit方法传入的参数是:".$id;
        dd(Input::all());
    }
    //put.re/{id}  显示单个分类信息
    public function update($id){
        echo "这里是update方法传入的参数是:".$id;
        dd(Input::all());
    }
    //delete.re/{id}   删除单个分类
    public function destroy($id){
        echo "这里是destory方法传入的参数是:".$id;
        dd(Input::all());
    }
}

blade模板

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
</head>
<body>
    <form action="{{url('re')}}" method= "get">
        <input type="submit" value="这里是index方法" />
    </form>
 
    <form action="{{url('re/create')}}" method= "get">
        <input type="submit" value="这里是create方法" />
    </form>
    <form action="{{url('re/')}}" method= "post">
         {{csrf_field()}}
        <input type="submit" value="这里是store方法" />
        
    </form>
    <form action="{{url('re/123')}}" method= "get">
        <input type="submit" value="这里是show方法" />
        
    </form>
    <form action="{{url('re/123/edit')}}" method= "get">
        <input type="submit" value="这里是edit方法" />    
    </form>
    <form action="{{url('re/123')}}" method= "POST">
        <input type="submit" value="这里是update方法" />
        <input type="hidden" name="_method" value="PUT">
        <input type="hidden" name="_token" value="{{csrf_token()}}" />    
    </form>
    <form action="{{url('re/123')}}" method= "post">
        <input type="submit" value="这里是destory方法" />
        <input type="hidden" name="_method" value="DELETE">
        <input type="hidden" name="_token" value="{{csrf_token()}}" />
    </form>
    
</body>
</html>

效果图

总结:想快速学习一个框架莫过于写博客了,在涉及传递参数的时候就懵逼了,网上搜索才发现有个资源路由。需要注意的就是原生的HTTP只支持get和post传想要用laravel中的PUT,DELETE方法必须要加默认的隐藏input数据而且要接CSRF验证

转自:https://blog.csdn.net/jiavv5/article/details/60465038

posted @ 2018-08-07 18:00  李傲强  阅读(3031)  评论(0编辑  收藏  举报