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

thinkphp源码无差别阅读(十六) framework阅读 think/route/Dispatch.php

  • 属性:app、request、rule、dispatch、param
  • 构造方法:__construct
  • 初始化:init
  • 执行调度:run
  • 响应:autoResponse
  • 检查路由后置操作:doRouteAfter
  • 路由绑定过模型:createBindModel
  • 验证数据:autoValidate
  • 获取调度:getDispatch
  • 获取参数:getParam
  • 执行:exec
  • 休眠:__sleep
  • 唤醒:__wakeup
  • debug信息:__debugInfo
think/route/Domain.php
  • 构造方法:__construct
  • 检测域名路由:check
  • 设置路由绑定:bind
  • 检测url绑定:checkUrlBind
  • 解析绑定参数:parseBindAppendParam
  • 绑定到类:bindToClass
  • 绑定到命名空间:bindToNamespace
  • 绑定到控制器:bindToController
think/route/Resource.php
  • 属性:resource、route、rest、model、validate、middleware
  • 构造方法:__construct
  • 生成资源路由规则:buildResourceRule
  • 设置资源允许:only
  • 设置资源排除:except
  • 设置资源路由的变量:vars
  • 绑定资源验证:withValidate
  • 绑定资源模型:withModel
  • 绑定资源中间件:withMiddleware
  • rest方法定义和修改
think/route/Rule.php
  • 属性:name、domain、router、parent、rule、method、vars、option、pattern、mergeOptions
  • 检查:check
  • 设置路由参数:option
  • 设置路由参数:setOption
  • 注册变量规则:pattern
  • 设置标识:name
  • 获取路由对象:getRouter
  • 获取路由标识:getName
  • 获取当前路由规则:getRule
  • 获取当前路由地址:getRoute
  • 获取当前路由变量:getVars
  • 获取当前分组:getParent
  • 获取路由所在域名:getDomain
  • 获取路由参数:config
  • 获取变量规则:getPattern
  • 获取路由参数:getOption
  • 获取路由请求类型:getMethod
  • 设置请求类型:method
  • 检查后缀:ext
  • 检查禁止后缀:denyExt
  • 检查域名:domain
  • 设置参数过滤:filter
  • 绑定模型:model
  • 附加路由隐式参数:append
  • 绑定验证:validate
  • 指定路由中间件:middleware
  • 允许跨域:allowCrossDomain
  • 表单令牌验证:token
  • 设置路由缓存:cache
  • 检查路由分隔符:depr
  • 设置需要合并的路由参数:mergeOptions
  • 检查是否是https:https
  • 检查是否是json请求:json
  • 检查是否是ajax请去:ajax
  • 检查是否是pjax请求:pjax
  • 路由到模板地址:view
  • 设置路由完整匹配:complateMatch
  • 是否去除url最后的斜线:removeSlash
  • 设置路由规则全局有限:crossDomainRule
  • 解析匹配到的路由规则:parseRule
  • 路由调度:dispatch
  • 解析url地址:dispatchController
  • 路由检查:checkOption
  • 解析url参数:parseUrlParams
  • 解析pathinfo:parseUrlPath
  • 生成路由正则规则:buildRouteRegex
  • 生成路由变量的正则规则:buildNameregex
  • 设置路由参数:__call
  • 睡眠:__sleep
  • 唤醒:__wakeup
  • debug:debugInfo
计划阅读 【【2022/1/10】thinkphp源码无差别阅读(十六)】[ ] framework源码
[ ] orm源码
[ ] helper源码

    推荐阅读