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

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

ORM阅读

DbManager.php

  • 属性:instance、config、event、listen、dbLog、queryTimes、cache、log
  • 构造方法:__construct
  • 注入模型对象:modelMaker
  • 监听sql:triggerSQL
  • 初始化配置参数:setConfig
  • 设置缓存对象:setCache
  • 设置日志对象:setLog
  • 记录sql日志:log
  • 获取查询日志:getDbLog
  • 获取配置参数:getConfig
  • 创建或者切换数据库连接查询:connect
  • 创建数据库连接实例:instance
  • 获取连接配置:getConnectionConfig
  • 创建连接:createConnection
  • 使用表达式设置数据:raw
  • 更新查询次数:updateQueryTimes
  • 重置查询次数:clearQueryTimes
  • 获取查询次数:getQueryTimes
  • 监听sql执行:listen
  • 获取监听sql执行:getListen
  • 注册事件:event
  • 触发事件:trigger
  • 动态调用:__call

Model.php

  • 属性:exists、force、replace、suffix、updateWhere、connection、name、key、table、initialized、defaultSoftDelete、globalScope、lazySave、db、invoker、maker、macro
  • 设置服务注入:maker
  • 设置方法注入:macro
  • 设置db:setDb
  • 设置容器对象的依赖注入方法:setInvoker
  • 调用反射执行模型方法:invoke
  • 构造方法:__construct
  • 获取模型名称:getName
  • 创建新的模型实例:newInstance
  • 设置更新条件:setUpdateWhere
  • 设置数据库连接:setConnection
  • 获取连接:getConnection
  • 设置后缀:setSuffix
  • 获取后缀:getSuffix
  • 获取db:db
  • 初始化模型:initialize
  • 初始化处理:init
  • 未知:checkData
  • 未知:checkResult
  • 强制更新:force
  • 判断force:isForce
  • 使用replace:replace
  • 刷新模型数据:refresh
  • 设置数据是否存在:exists
  • 判断数据是否存在:isExists
  • 判断模型是否为空:isEmpty
  • 延迟保存当前数据:lazySave
  • 保存当前数据对象:save
  • 检查数据是否允许写入:checkAllowFields
  • 保存写入数据:saveData
  • 新增写入数据:insertData
  • 获取当前更新条件:updateWhere
  • 保存多个数据到当前数据对象:saveAll
  • 删除当前记录:delete
  • 写入数据:create
  • 更新:update
  • 删除:destroy
  • 唤醒:__wakeup
  • 修改器:__set
  • 获取器:__get
  • 检测是否有:__isset
  • 销毁数据对象的值:__unset
  • 数组式访问
  • 设置不适用全局查询范围:withGlobalScope
  • 切换后缀进行查询:suffix
  • 切换数据库连接进行查询:connect
  • 动态调用:__call、__callStatic
  • 析构方法:__destruct

计划阅读

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

你可能感兴趣的:(thinkphp)