TP5源码:框架执行流程与路由解读(二)

        书接上文,路由中的get方法指向think\Route.php中的addRule方法

        老样子,think\Route类的构造函数设置一些公共变量(其中App $app 就是通过反射机制拿到并注入)

TP5源码:框架执行流程与路由解读(二)_第1张图片
TP5源码:框架执行流程与路由解读(二)_第2张图片

        随后我们跳转到RuleGroup页面下的addRule方法。这里参数内容如下图所示:

        我们以路由 Route::get('hello/:name', 'index/hello'); 为例:

        其中new RuleItem 会创建路由规则实例

TP5源码:框架执行流程与路由解读(二)_第3张图片

1.创建路由规则实例 RuleItem:

    1.路由规则预处理setRule

        setRule主要会进行以下几种操作

            判断是否是完整匹配路由(路由尾部的$符号)

            rule参数左斜线截取

            成员属性rule定义(最后从hello:name转换成了hello/

            生成路由标识的快捷访问setRuleName();

TP5源码:框架执行流程与路由解读(二)_第4张图片

你可能感兴趣的:(TP5源码:框架执行流程与路由解读(二))