天天看點

【2022/01/19】thinkphp源碼無差别閱讀(二十四)

thinkphp源碼無差别閱讀(二十四)

【2022/01/19】thinkphp源碼無差别閱讀(二十四)

ORM閱讀

db/Builder.php

  • 屬性:connection、exp、parser、selectSql、insertSql、updateSql、deleteSql
  • 構造方法:__construct
  • 擷取連接配接對象:getConnection
  • 注冊查詢表達式解析:bindParser
  • 資料分析:parseData
  • 資料綁定處理:parseDataBind
  • 字段名分析:parseKey
  • 查詢額外參數分析:parseExtra
  • field分析:parseField
  • table分析:parseTable
  • where分析:parseWhere
  • 生成查詢條件:buildWhere
  • 不同字段使用相同查詢條件:parseWhereLogic
  • 不同字段使用相同查詢條件:parseFieldsAnd
  • 不同字段使用相同查詢條件:parseFieldsOr
  • 閉包查詢:parseClosureWhere
  • 符合條件查詢:parseMultiWhereField
  • where子單元分析:parseWhereItem
  • 模糊查詢:parseLike
  • 表達式查詢:parseExp
  • 列查詢:parseColumn
  • null查詢:parseNull
  • 範圍查詢:parseBetween
  • exists查詢:parseExists
  • 時間比較查詢:parseTime
  • 大小比較查詢:parseCompare
  • 時間範圍查詢:parseBetweenTime
  • in查詢:parseIn
  • 閉包查詢:parseClosure
  • 日期時間條件解析:parseDateTime
  • limit分析:parseLimit
  • join分析:parseJoin
  • order分析:parseOrder
  • 分析Raw對象:parseRaw
  • 随機排序:parseRand
  • orderField分析:parseOrderField
  • group分析:parseGroup
  • having分析:parseHaving
  • comment分析:parseComment
  • district分析:parseDistrict
  • union分析:parseUnion
  • index分析:parseForce
  • 設定鎖機制:parseLock
  • 生成select語句:select
  • 生成insert:inseret
  • 生成insertall:insertAll
  • 生成select insert:selectInsert
  • 生成update:update
  • 生成delete:delete

計劃閱讀

[ ] framework源碼

[ ] orm源碼

[ ] helper源碼