日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

thinkphp源码无差别阅读(一)

發(fā)布時間:2023/12/20 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 thinkphp源码无差别阅读(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

thinkphp源碼無差別閱讀(一)

thinkphp的framework源碼大概165個文件,我們不按照邏輯分析閱讀源碼,我們一個文件一個文件閱讀,閱讀完以后有個大概了解,然后在運行邏輯下進行閱讀

framework閱讀

App.php閱讀

  • 常量:VERSION-定義框架版本號
  • 屬性:$appDebug、envName、beginTime、beginRem、namespace、rootPath、thinkPath、appPath、runtimePath、routePath、configExt、initializers、services、initialized、bind
  • 構造方法:__construct
  • 注冊服務:register
  • 執(zhí)行服務:bootService
  • 獲取服務:getService
  • 設置調試模式:debug
  • 是否調試模式:isDebug
  • 設置應用命名空間:setNamespace
  • 獲取應用命名空間:getNamespace
  • 設置環(huán)境變量標識:setEnvName
  • 獲取框架版本:version
  • 獲取應用根目錄:getRootPath
  • 獲取應用基礎魔力:getBasePath
  • 獲取當前應用目錄:getAppPath
  • 設置應用目錄:setAppPath
  • 獲取應用運行目錄:getRuntimePath
  • 設置應用運行目錄:setRuntimePath
  • 獲取框架核心目錄:getThinkPath
  • 獲取應用配置目錄:getConfigPath
  • 獲取配置后綴:getConfigExt
  • 獲取用于開啟時間:getBeginTime
  • 獲取應用初始內存占用:getBeginRem
  • 加載環(huán)境變量:loadEnv
  • 初始化應用:initialize
  • 是否初始化:initialized
  • 加載語言包:loadLangPack
  • 引導引用:boot
  • 加載應用文件和配置:load
  • 調試模式設置:debugModeInit
  • 注冊應用事件:loadEvent
  • 解析應用類名:parseClass
  • 是否在命令行下運行:runningInConsole
  • 獲取應用根目錄:getDefaultRootPath

Cache.php閱讀

  • 屬性:namespace
  • 獲取默認驅動:getDefaultDriver
  • 獲取緩存配置:getConfig
  • 獲取驅動配置:getStoreConfirm
  • 未知:resolveType
  • 未知:resolveConfig
  • 連接獲取切換緩存:store
  • 清空緩存池:clear
  • 讀取緩存:get
  • 寫入緩存:set
  • 刪除緩存:delete
  • 讀取緩存:getMultiple
  • 寫入緩存:setMultiple
  • 刪除緩存:deleteMultiple
  • 判斷緩存是否存在:has
  • 緩存標簽:tag

Config.php閱讀

  • 屬性:config、path、ext
  • 構造方法:__construct
  • 未知:__make
  • 加載配置文件:load
  • 解析配置文件:parse
  • 判斷配置是否存在:has
  • 獲取一級配置:pull
  • 獲取配置:get
  • 設置配置:set

Console.php閱讀

  • 屬性:app、commands、wantHelps、catchExceptions、autoExit、definition、defaultCommand、defaultCommands、startCallbacks
  • 構造方法:__construct
  • 初始化:initialize
  • 構造request:makeRequest
  • 添加初始化器:starting
  • 清空啟動器:flushStartCallbacks
  • 設置執(zhí)行用戶:setUser
  • 啟動:start
  • 加載指令:loadCommands
  • 未知:call
  • 執(zhí)行當前指令:run
  • 執(zhí)行指令:doRun
  • 設置輸入參數:setDefinition
  • 獲取輸入參數:getDefinition
  • 獲取幫助:getHelp
  • 是否捕獲異常:setCatchException
  • 是否自動退出:setAutoExit
  • 獲取完整版本號:getLongVersion
  • 添加指令集:addCommands
  • 添加指令:addCommand
  • 獲取指令:getCommand
  • 判斷指令是否存在:hasCommand
  • 獲取所有的命名空間:getNamespaces
  • 查找命名空間的名稱或縮寫:findNamespace
  • 查找指令:find
  • 獲取所有指令:all
  • 配置輸入輸出:configurateIO
  • 執(zhí)行指令:doRunCommand
  • 獲取指令的基礎名稱:getCommandName
  • 獲取默認輸入:getDefaultInputDefinition
  • 獲取建議:getAbbreviationSuggestions
  • 返回命名空間部分:extractNamespace
  • 查找可替代建議:findAlternatives
  • 返回所有命名空間:extractAllNamesapces

Container.php

  • 屬性:instance、instances、bind、invokeCallback
  • 獲取當前容器實例:getInstance
  • 設置當前容器實例:setInstance
  • 注冊一個容器對象回調:resolving
  • 獲取容器中的對象實例:pull
  • 獲取容器中的對象實例:get
  • 綁定類、閉包、對象、接口到容器:bind
  • 根據別名獲取類真實的名字:getAlias
  • 綁定一個類實例到容器:instance
  • 判斷容器中是否存在類和標識:bound
  • 判斷容器中是否存在類和標識:has
  • 判斷容器中是否存在類和標識:exists
  • 創(chuàng)建類實例,單例:make
  • 刪除容器中的對象實例:delete
  • 執(zhí)行函數或者閉包:invokeFunction
  • 執(zhí)行反射類的方法:invokeMethod
  • 執(zhí)行反射類的方法:invokeReflectMethod
  • 調用反射執(zhí)行callable:invoke
  • 調用反射,執(zhí)行類的實例化:invokeClass
  • 執(zhí)行invokeClass回調:invokeAfter
  • 綁定參數:bindParams
  • 創(chuàng)建工廠對象實例:factory
  • 獲取對象類型的參數值:getObjectParam
  • 魔術方法和數組是訪問:__set、__get、__isset、__unset、offsetExists、offsetGet、offsetSet、offsetUnset、count、getIterator

計劃閱讀

[ ] framework源碼
[ ] orm源碼
[ ] helper源碼

留言

點擊留言

總結

以上是生活随笔為你收集整理的thinkphp源码无差别阅读(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。