天天看點

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

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

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

ORM閱讀

db/PDOConnection.php

  • 常量:PARAM_FLOAT
  • 屬性:config、PDOStatement、querySt、transTimes、reConnectTimes、fetchType、attrCase、info、queryStartTime、params、bindType、breakMatchStr、bind
  • 擷取query類:getQueryClass
  • 擷取builder類:getBuilderClass
  • 解析pdo連結的dsn:parseDsn
  • 擷取資料表的字段資訊:getFields
  • 擷取表資訊:getTable
  • 對字段進行大小寫轉換:fieldCache
  • 擷取字段類型:getFieldType
  • 擷取字段綁定類型:getFieldBindType
  • 擷取表資訊緩存key:getSchemaCacheKey
  • 擷取表資訊:getSchemaInfo
  • 擷取表資訊:getTableInfo
  • 擷取字段資訊:getTableFieldInfo
  • 擷取主鍵;getPk
  • 擷取自增主鍵:getAutoInc
  • 擷取字段資訊:getTableFields
  • 擷取字段類型:getFieldsType
  • 擷取資料表綁定資訊:getFieldsBind
  • 連接配接資料庫:connect
  • 試圖查詢:view
  • 建立pdo執行個體:createPdo
  • 釋放查詢結果:free
  • 擷取pdo:getPdo
  • 執行查詢,使用生成器傳回結果:getCursor
  • 執行查詢,傳回資料集:query
  • 執行語句:execute
  • 執行查詢,傳回資料集:pdoQuery
  • 執行查詢,傳回PDOStatement:pdo
  • 擷取PDOStatement:getPDOStatement
  • 執行語句:pdoExecute
  • 執行查詢:queryPDOStatement
  • 查詢單條語句:find
  • 使用遊标查詢記錄:cursor
  • 查詢記錄:select
  • 插入:insert
  • 插入多條:insertAll
  • 通過select插入:selectInsert
  • 更新:update
  • 删除:delete
  • 查詢某個字段的值:value
  • 聚合查詢:aggregate
  • 查詢一列:column
  • 根據參數綁定組裝最後的sql:getRealSql
  • 參數綁定:bindValue
  • 存儲過程的參數綁定:bindParam
  • 擷取資料集數組:getResult
  • 擷取存儲過程資料集:procedure
  • 執行資料庫事務:transaction
  • 啟動事務:startTrans
  • 送出事務:commit
  • 事務復原:rollback
  • 是否支援事務嵌套:supportSavepoint
  • 生成儲存點的sql:parseSavePoint
  • 生成回盾到儲存點的sql:parseSavePointRollback
  • 批處理執行sql:batchQuery
  • 關閉資料庫:close
  • 是否斷線:isBreak
  • 擷取最近一次的查詢sql:getLastSql
  • 擷取最近的插入ID:getLastInsID
  • 擷取最近的插入ID:autoInsIDType
  • 擷取最近的錯誤資訊:getError
  • 初始化資料庫連接配接:initConnect
  • 連接配接分布式伺服器:multiConnect
  • 執行資料庫xa事務:transactionXa
  • 啟動sa事務:startTransXa
  • 預編譯xa:prepareXa
  • 送出xa:commitXa
  • 復原xa:rollbackXa

計劃閱讀

[ ] framework源碼

[ ] orm源碼

[ ] helper源碼