Thinkphp 6.0资源路由

本节课我们来学习一下路由一个操作功能:资源路由。
一.资源路由
1. 资源路由,采用固定的常用方法来实现简化 URL 的功能;
Route::resource('ads', 'Address');

2. 系统提供了一个命令,方便开发者快速生成一个资源控制器;
php think make:controller Blog

3. 从生成的多个方法,包含了显示、增删改查等多个操作方法;
4. 在路由定义文件下创建一个资源路由,资源名称可自定义;
Route::resource('blog', 'Blog');

5. 这里的 blog 表示资源规则名, Blog 表示路由的访问路径;
6. 资源路由注册成功后,会自动提供以下方法,无须手动注册;
7. GET 访问模式下: index(blog) create(blog/create) read(blog/:id)
edit(blog/:id/edit)
8. POST 访问模式下: save(blog)
9. PUT 方式模式下: update(blog/:id)
10. DELETE 方式模式下: delete(blog/:id)
http://localhost:8000/blog/
(index)
http://localhost:8000/blog/5
(read)
http://localhost:8000/blog/5/edit (edit)

11. 对于 POST ,是新增,一般是表单的 POST 提交,而 PUT DELETE AJAX 访问;
12. 将跨域提交那个例子修改成 .ajax ,其中 type 设置为 DELETE 即可访问到;
$.ajax({
type : "DELETE",
url : "http://localhost:8000/blog/10",
success : function (res) {
console.log(res);
}
});

13. 默认的参数采用 id 名称,如果你想别的,比如: blog_id ,则:
->vars(['blog'=>'blog_id']);
//相应的 delete($blog_id)

14. 也可以通过 only() 方法限定系统提供的资源方法,比如:
->only(['index','save','create'])

15. 还可以通过 except() 方法排除系统提供的资源方法,比如:
->except(['read','delete','update'])

16. 使用 rest() 方法,更改系统给予的默认方法, 1. 请求方式; 2. 地址; 3. 操作;
Route::rest('create', ['GET', '/:id/add', 'add']);
//批量
Route::rest([
'save'
=> ['POST', '', 'store'],
'update' => ['PUT', '/:id', 'save'],
'delete' => ['DELETE', '/:id', 'destory'],
]);

17. 使用嵌套资源路由,可以让上级资源对下级资源进行操作,创建 Comment 资源;
class Comment
{
public function read($id, $blog_id)
{
return 'Comment id:'.$id.',Blog id:'.$blog_id;
}
public function edit($id, $blog_id)
{
return 'Comment id:'.$id.',Blog id:'.$blog_id;
}
}

18. 使用嵌套资源路由,可以让上级资源对下级资源进行操作,创建 Comment 资源;
Route::resource('blog.comment', 'Comment');

19. 资源嵌套生成的路由规则如下:
http://localhost:8000/blog/:blog_id/comment/:id
http://localhost:8000/blog/:blog_id/comment/:id/edit
20. 嵌套资源生成的上级资源默认 id 为: blog_id ,可以通过 vars 更改;
Route::resource('blog.comment', 'Comment')->vars(['blog'=>'blogid']);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值