二、资源路由
资源路由的设置也是很简单。
同时使用命令行来创建文件也更是方便。
创建的控制器本身就是一个资源路由文件。
接着还是会执行到Route文件的resource方法。
这个方法同样会有路由规则、路由地址、路由参数、变量规则。
接着就会来到thinkphp/library/think/route/Resource.php类
在这个类中及时做一些简单的属性赋值。
再就是咔咔圈出来的地方,接下来咔咔会对圈出来的地方进行说明。
由于resource类继承这RuleGroup类,所以会跳转到thinkphp/library/think/route/RuleGroup.php类里。
来到这个方法执行的动作。
- 会对路由规则进行简单的处理,如果路由存在参数则需要把路由规则转换为blog/<name> 或者 blog/<name? >
- 接着就是对$this->parent解释,这里为什么是object(think\route\Domain),需要需要路由文章的第一篇第三节,并且在这一步就会对fullName进行赋值。
- 最后一步就是进行对fullName进行赋值,其实就是将路由规则赋值给fullName。
然后在就返回上层看接下来的东西。
设置分组的路由规则处理完之后就是对一些属性进行赋值,主要为一下三个。
- 路由变量规则
- 路由参数
- REST路由方法定义
属性赋值就没有什么说的了,就是需要明白对应的属性做的事情即可。
在紧接着就是会以请求方式为键值 以$this为值 返回本类实例,并且会进行检测此路由方法是否为注解路由。
返回的结果咔咔打印出来给大家简单的看一下,内容没有截取全,知道这个值是什么就行了。
以上执行完之后就会返回上层去执行lazy方法
首先知道这个传入的这个参数是什么:路由是否延迟解析
接着就会来到lazy方法
在这个方法中会去调用parseGroupRule,并且传入的参数就是分组的路由规则
这块的内容就是关于路由分组的,这里就不走探讨了。
直到这里关于资源路由就简单说到这里
最后咔咔将执行脑图给大家画出来