最近写项目发现Route::resource 这个东西真的巨好用!一下子能省好多行的代码!!很容易维护&&看起来舒服,代码体验贼棒棒。然后就记录一下用法,其实官方文档写的就很明白了,但是还是加深一下理解,怕忘2333
比如说我们要写一个文章模块的CURD,正常流程的话
- 先建一个文章的模型,在cmd命令行输入
php artisan make:model Article
2. 接下来再建一个相应的控制器
php artisan make:controller ArticleController
在这个控制器里面写函数,进行文章的CURD
3. 在route文件中分发路由
比如说..
Route::get('/article/create', 'ArticleController@create');Route::post('/article/create', 'ArticleController@store');
/*删除文章*/
Route::post('/article/del/{id}', 'ArticleController@del');
/*编辑文章*/
Route::get('/article/edit/{id}', 'ArticleController@edit');
Route::post('/article/edit/{id}', 'ArticleController@update');
如果不用资源路由的话..大概要写这么多行
但是如果用Route::resource的话 我们写一行就行了!!
Route::resource('article', 'ArticleController');
如果我们以get的方式请求‘article’,会自动分发到ArticleController的create函数,
post 方式请求‘article’,会跳转到ArticleController的store函数。
其他情况类似,可以参考下面的表格。
动作 |
URI | 行为 | 路由名称 |
---|---|---|---|
GET | /photos |
index | photos.index |
GET | /photos/create |
create | photos.create |
POST | /photos |
store | photos.store |
GET | /photos/{photo} |
show | photos.show |
GET | /photos/{photo}/edit |
edit | photos.edit |
PUT/PATCH | /photos/{photo} |
update | photos.update |
DELETE | /photos/{photo} |
{{ method_field('PUT') }}因为html表格不支持PUT/PATCH/DELETE 的 请求方法