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源码

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

  1. 【2022/1/14】thinkphp源码无差别阅读(十九)

    thinkphp源码无差别阅读(十九) framework阅读 think/validate/ValidateRule.php 属性:title.rule.message 添加验证因子:addItem ...

  2. 【2022/01/21】thinkphp源码无差别阅读(二十五)

    thinkphp源码无差别阅读(二十五) ORM阅读 db/CacheItem.php 属性:key.value.expire.tag.isHit 构造方法:__construct 为此缓存项设置键: ...

  3. 【2022/01/27】thinkphp源码无差别阅读(三十)

    thinkphp源码无差别阅读(三十) ORM阅读 model/concern/Attribute.php 属性:pk.schema.field.type.disuse.readonly.data.o ...

  4. 【2022/1/16】thinkphp源码无差别阅读(二十一)

    thinkphp源码无差别阅读(二十一) Helper阅读 contract/Arrayable.php 转换为数组:toArray contract/Jsonable.php 转换为数组:toJso ...

  5. 【2021/12/25】 thinkphp源码无差别阅读(三)

    thinkphp源码无差别阅读(三) framework阅读 Http.php 属性:app.name.path.routePath.isBild 构造方法:__construct 设置应用名称:na ...

  6. thinkphp源码无差别阅读(一)

    thinkphp源码无差别阅读(一) thinkphp的framework源码大概165个文件,我们不按照逻辑分析阅读源码,我们一个文件一个文件阅读,阅读完以后有个大概了解,然后在运行逻辑下进行阅读 ...

  7. 【2021/12/29】thinkphp源码无差别阅读(七)

    thinkphp源码无差别阅读(七) framework阅读 View.php 属性:namespace.data.filter. 获取模板引擎:engine 模板变量赋值:assign 试图过滤:f ...

  8. 【2021/12/24】 thinkphp源码无差别阅读(二)

    thinkphp源码无差别阅读(二) framework阅读 Cookie.php 属性:config.cookie.request. 构造方法:__construct 自定义实例化:__make 获 ...

  9. 【2021/12/28】thinkphp源码无差别阅读(六)

    thinkphp源码无差别阅读(六) framework阅读 Service.php 属性:app 构造方法:__construct 加载路由:loadRoutesFrom 注册路由:register ...

最新文章

  1. sublime配置python开发环境_win7 下搭建sublime的python开发环境的配置方法
  2. 神策营销云:「在线教育」行业,如何借“运营工具”玩转微信生态?
  3. c# bindingsource mysql,Navicat for MySQL 使用教程:在.NET中如何连接MySQL数据库
  4. Java客户端操作HBase:插入数据(逐条插入与批量插入)代码示例
  5. android中TextView分段显示不同颜色,字体,时间
  6. ABAP并发编程到底能提高多少性能
  7. Java——容器(泛型)
  8. dw显示云服务器的数据库,dw如何读取服务器数据库
  9. python3.7如何使用enum_python3 enum模块
  10. Jquery操作select选项集合,判断集合中是否存在option
  11. python管道怎么使用_Python – 如何使用管道执行shell命令?
  12. 手电筒安卓_王思聪吃热狗数字时钟app安卓android苹果ios
  13. 鼎信诺显示连接服务器失败,鼎信诺审计软件2013-2014年度常见问题解答.docx
  14. Python的request官方文档
  15. proteus常用元器件名称
  16. bat脚本学习——拖拽文件到bat下载
  17. MVX-Net: PointFusion 在mmdetection3d中的实现
  18. 2 | TGA文件格式分析
  19. 天正的计算机快捷命令大全,天正建筑快捷键命令大全 2
  20. Cortex-M3和Cortex-M4 Fault异常基础知识

热门文章

  1. 国内可用的ntp服务器地址
  2. 统计词频 matlab,批量统计若干类词频总数方法
  3. 有玩过夺宝类似的平台吗,来说说你的心得吧
  4. 程序员揭露弹性工作时间制背后的隐情
  5. 微博中微服务缓存_微服务常见问题
  6. 360笔试编程题-圈地运动
  7. MySQL(71)MySQL删除视图(DORP VIEW)
  8. usm 魔术师安装系统纯净版
  9. YYDatav的数据可视化大屏《精彩案例汇总》(PythonEcharts源码)
  10. Conditional, Ternary 运算符的使用