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