最近在学习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
来源:oschina
链接:https://my.oschina.net/u/4355030/blog/3875589