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
计划阅读
[ ] framework源码
[ ] orm源码
[ ] helper源码