(thinkphp源码分析)(thinkphp源码解析)

thinkphp源码无差别阅读(二十九)

(thinkphp源码分析)(thinkphp源码解析)

ORM阅读

db/Where.plhp

  • 属性:where、enclose
  • 构造方法:__construct
  • 设置是否添加括号:enclose
  • 解析query对象为数组:parse
  • 分析查询表达式:parseItem
  • 修改器:__set
  • 获取器:__get
  • 检测数组对象的值:__isset
  • 销毁:__unset
  • 数组式访问:offsetSet、offsetExists、offsetUnset、offsetGet

facade/Db.php

  • 获取当前facade对应的类名:getFacadeClass

model/Collection.php

  • 延迟预载于关联查询:load
  • 删除:delete
  • 更新:update
  • 设置隐藏:hidden
  • 设置显示:visible
  • 设置需要追加的属性:append
  • 设置模型输出场景:scene
  • 设置父模型:setParent
  • 设置获取器:withAttr
  • 关联属性到当前模型:bindAttr
  • 按指定键整理数据:dictionary
  • 差集:diff
  • 交集:intersect

model/Pivot.php

  • 属性:parent、autoWriteTimestamp
  • 构造方法:__construct

model/Relation.php

  • 属性:parent、model、query、foreignKey、localKey、baseQuery、selfRelation、withLimit、withField、withoutField、default
  • 获取关联模型:getParent
  • 获取query:getQuery
  • 获取外键:getForeignKey
  • 获取主键:getLocalKey
  • 获取当前模型:getModel
  • 是否自关联:isSelfRelation
  • 封装关联数据集:resultSetBuild
  • 获取查询字段:getQueryFields
  • 获取查询字段:getRelationQueryFields
  • 获取查询条件:getQueryWhere
  • 限制关联数量:withLimit
  • 限制关联字段:withField
  • 排除关联字段:withoutField
  • 设置关联数据不存在时的默认:withDefault
  • 获取关联数据默认值:getDefaultModel
  • 判断闭包的参数类型:getClosureType
  • 执行基础查询:baseQuery
  • 动态调用:__call

计划阅读

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

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者瑞科所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(thinkphp源码分析)(thinkphp源码解析)
本文链接:https://www.51qsb.cn/article/dvjqbs.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-08-15
下一篇2023-08-15

你可能还想知道

发表回复

登录后才能评论