【2022/1/11】thinkphp源码无差别阅读(十七)


thinkphp源码无差别阅读(十七)

framework阅读

think/route/RuleGroup.php

  • 属性:rules、rule、miss、fullName、alias
  • 构造方法:__construct
  • 设置分组路由规则:setFullName
  • 获取所属域名:getDomain
  • 获取分组别名:getAlias
  • 检测分组路由:check
  • 分组url匹配检查:checkUrl
  • 设置分组别名:alias
  • 延迟解析分组路由规则:lazy
  • 解析分组规则及绑定:parseGroupRule
  • 检测分组路由:checkMergeRuleRegex
  • 获取分组miss路由:getMissRule
  • 注册miss路由:miss
  • 添加分组下的路由规则:addRule
  • 注册分组下的路由规则:addRuleItem
  • 设置路由分组前缀:prefix
  • 合并路由规则正则:mergeRuleRegex
  • 设置分组调度:dispatcher
  • 获取完整分组名称:getFullName
  • 获取分组路由规则:getRule
  • 清空分组路由规则:clear

think/route/RuleItem.php

  • 属性:miss、autoOption
  • 构造方法:__construct
  • 设置miss路由:setMiss
  • 判断miss:isMiss
  • 设置路由为自动注册为option:setAutoOptions
  • 判断是否自动注册option:isAutoOptins
  • 获取后缀:getSuffix
  • 路由规则预处理:setrule
  • 设置别名:name
  • 设置路由标识:setRuleName
  • 检测路由:checkRule
  • 检测路由:check
  • url后缀以及slash检查:urlSlashCheck
  • 检测url和路由是否匹配:match
  • 设置路由所属分组:group

think/route/RuleName.php

  • 属性:item、rule、group
  • 注册路由标识:setItem
  • 注册路由分组标识:setGroup
  • 注册路由规则:setRule
  • 根据路由规则获取路由对象:getRule
  • 获取路由分组:getGroup
  • 清空路由规则:clear
  • 获取路由列表:getRuleList
  • 导入路由标识:import
  • 根据路由标识获取路由信息:getName
  • 获取路由信息:getRuleItemInfo

think/route/Url.php

  • 属性:app、route、vars、url、root、https、suffix、domain
  • 构造方法:__construct
  • 设置参数:vars
  • 设置后缀:suffix
  • 设置域名:domain
  • 设置url跟地址:root
  • 设置https:https
  • 检测域名:parseDomain
  • 解析后缀:parseSuffix
  • 解析地址:parseUrl
  • 分析路由规则中的变量:parseVar
  • 匹配路由地址:getRuleUrl
  • 生成url:build
  • 字符串处理:__toString
  • debug信息:__debugInfo

计划阅读

[ ] framework源码
[ ] orm源码
[ ] helper源码