thinkphp源码无差别阅读(一)
生活随笔
收集整理的這篇文章主要介紹了
thinkphp源码无差别阅读(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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
- 執行服務:bootService
- 獲取服務:getService
- 設置調試模式:debug
- 是否調試模式:isDebug
- 設置應用命名空間:setNamespace
- 獲取應用命名空間:getNamespace
- 設置環境變量標識:setEnvName
- 獲取框架版本:version
- 獲取應用根目錄:getRootPath
- 獲取應用基礎魔力:getBasePath
- 獲取當前應用目錄:getAppPath
- 設置應用目錄:setAppPath
- 獲取應用運行目錄:getRuntimePath
- 設置應用運行目錄:setRuntimePath
- 獲取框架核心目錄:getThinkPath
- 獲取應用配置目錄:getConfigPath
- 獲取配置后綴:getConfigExt
- 獲取用于開啟時間:getBeginTime
- 獲取應用初始內存占用:getBeginRem
- 加載環境變量: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
- 設置執行用戶:setUser
- 啟動:start
- 加載指令:loadCommands
- 未知:call
- 執行當前指令:run
- 執行指令:doRun
- 設置輸入參數:setDefinition
- 獲取輸入參數:getDefinition
- 獲取幫助:getHelp
- 是否捕獲異常:setCatchException
- 是否自動退出:setAutoExit
- 獲取完整版本號:getLongVersion
- 添加指令集:addCommands
- 添加指令:addCommand
- 獲取指令:getCommand
- 判斷指令是否存在:hasCommand
- 獲取所有的命名空間:getNamespaces
- 查找命名空間的名稱或縮寫:findNamespace
- 查找指令:find
- 獲取所有指令:all
- 配置輸入輸出:configurateIO
- 執行指令:doRunCommand
- 獲取指令的基礎名稱:getCommandName
- 獲取默認輸入:getDefaultInputDefinition
- 獲取建議:getAbbreviationSuggestions
- 返回命名空間部分:extractNamespace
- 查找可替代建議:findAlternatives
- 返回所有命名空間:extractAllNamesapces
Container.php
- 屬性:instance、instances、bind、invokeCallback
- 獲取當前容器實例:getInstance
- 設置當前容器實例:setInstance
- 注冊一個容器對象回調:resolving
- 獲取容器中的對象實例:pull
- 獲取容器中的對象實例:get
- 綁定類、閉包、對象、接口到容器:bind
- 根據別名獲取類真實的名字:getAlias
- 綁定一個類實例到容器:instance
- 判斷容器中是否存在類和標識:bound
- 判斷容器中是否存在類和標識:has
- 判斷容器中是否存在類和標識:exists
- 創建類實例,單例:make
- 刪除容器中的對象實例:delete
- 執行函數或者閉包:invokeFunction
- 執行反射類的方法:invokeMethod
- 執行反射類的方法:invokeReflectMethod
- 調用反射執行callable:invoke
- 調用反射,執行類的實例化:invokeClass
- 執行invokeClass回調:invokeAfter
- 綁定參數:bindParams
- 創建工廠對象實例:factory
- 獲取對象類型的參數值:getObjectParam
- 魔術方法和數組是訪問:__set、__get、__isset、__unset、offsetExists、offsetGet、offsetSet、offsetUnset、count、getIterator
計劃閱讀
[ ] framework源碼
[ ] orm源碼
[ ] helper源碼
留言
點擊留言
總結
以上是生活随笔為你收集整理的thinkphp源码无差别阅读(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Abaqus高级实例分析视频教程-材料
- 下一篇: 几招最有效的防辐射的方法