thinkphp源碼無差別閱讀(一)
thinkphp的framework源碼大概165個(gè)文件夯秃,我們不按照邏輯分析閱讀源碼弃酌,我們一個(gè)文件一個(gè)文件閱讀引谜,閱讀完以后有個(gè)大概了解型宙,然后在運(yùn)行邏輯下進(jìn)行閱讀
framework閱讀
App.php閱讀
- 常量:VERSION-定義框架版本號
- 屬性:$appDebug嘱能、envName吝梅、beginTime、beginRem惹骂、namespace苏携、rootPath、thinkPath析苫、appPath兜叨、runtimePath、routePath衩侥、configExt国旷、initializers、services茫死、initialized跪但、bind
- 構(gòu)造方法:__construct
- 注冊服務(wù):register
- 執(zhí)行服務(wù):bootService
- 獲取服務(wù):getService
- 設(shè)置調(diào)試模式:debug
- 是否調(diào)試模式:isDebug
- 設(shè)置應(yīng)用命名空間:setNamespace
- 獲取應(yīng)用命名空間:getNamespace
- 設(shè)置環(huán)境變量標(biāo)識:setEnvName
- 獲取框架版本:version
- 獲取應(yīng)用根目錄:getRootPath
- 獲取應(yīng)用基礎(chǔ)魔力:getBasePath
- 獲取當(dāng)前應(yīng)用目錄:getAppPath
- 設(shè)置應(yīng)用目錄:setAppPath
- 獲取應(yīng)用運(yùn)行目錄:getRuntimePath
- 設(shè)置應(yīng)用運(yùn)行目錄:setRuntimePath
- 獲取框架核心目錄:getThinkPath
- 獲取應(yīng)用配置目錄:getConfigPath
- 獲取配置后綴:getConfigExt
- 獲取用于開啟時(shí)間:getBeginTime
- 獲取應(yīng)用初始內(nèi)存占用:getBeginRem
- 加載環(huán)境變量:loadEnv
- 初始化應(yīng)用:initialize
- 是否初始化:initialized
- 加載語言包:loadLangPack
- 引導(dǎo)引用:boot
- 加載應(yīng)用文件和配置:load
- 調(diào)試模式設(shè)置:debugModeInit
- 注冊應(yīng)用事件:loadEvent
- 解析應(yīng)用類名:parseClass
- 是否在命令行下運(yùn)行:runningInConsole
- 獲取應(yīng)用根目錄:getDefaultRootPath
Cache.php閱讀
- 屬性:namespace
- 獲取默認(rèn)驅(qū)動(dòng):getDefaultDriver
- 獲取緩存配置:getConfig
- 獲取驅(qū)動(dòng)配置:getStoreConfirm
- 未知:resolveType
- 未知:resolveConfig
- 連接獲取切換緩存:store
- 清空緩存池:clear
- 讀取緩存:get
- 寫入緩存:set
- 刪除緩存:delete
- 讀取緩存:getMultiple
- 寫入緩存:setMultiple
- 刪除緩存:deleteMultiple
- 判斷緩存是否存在:has
- 緩存標(biāo)簽:tag
Config.php閱讀
- 屬性:config他去、path饱岸、ext
- 構(gòu)造方法:__construct
- 未知:__make
- 加載配置文件:load
- 解析配置文件:parse
- 判斷配置是否存在:has
- 獲取一級配置:pull
- 獲取配置:get
- 設(shè)置配置:set
Console.php閱讀
- 屬性:app饮亏、commands慨绳、wantHelps、catchExceptions被环、autoExit糙及、definition、defaultCommand筛欢、defaultCommands浸锨、startCallbacks
- 構(gòu)造方法:__construct
- 初始化:initialize
- 構(gòu)造request:makeRequest
- 添加初始化器:starting
- 清空啟動(dòng)器:flushStartCallbacks
- 設(shè)置執(zhí)行用戶:setUser
- 啟動(dòng):start
- 加載指令:loadCommands
- 未知:call
- 執(zhí)行當(dāng)前指令:run
- 執(zhí)行指令:doRun
- 設(shè)置輸入?yún)?shù):setDefinition
- 獲取輸入?yún)?shù):getDefinition
- 獲取幫助:getHelp
- 是否捕獲異常:setCatchException
- 是否自動(dòng)退出:setAutoExit
- 獲取完整版本號:getLongVersion
- 添加指令集:addCommands
- 添加指令:addCommand
- 獲取指令:getCommand
- 判斷指令是否存在:hasCommand
- 獲取所有的命名空間:getNamespaces
- 查找命名空間的名稱或縮寫:findNamespace
- 查找指令:find
- 獲取所有指令:all
- 配置輸入輸出:configurateIO
- 執(zhí)行指令:doRunCommand
- 獲取指令的基礎(chǔ)名稱:getCommandName
- 獲取默認(rèn)輸入:getDefaultInputDefinition
- 獲取建議:getAbbreviationSuggestions
- 返回命名空間部分:extractNamespace
- 查找可替代建議:findAlternatives
- 返回所有命名空間:extractAllNamesapces
Container.php
- 屬性:instance、instances版姑、bind柱搜、invokeCallback
- 獲取當(dāng)前容器實(shí)例:getInstance
- 設(shè)置當(dāng)前容器實(shí)例:setInstance
- 注冊一個(gè)容器對象回調(diào):resolving
- 獲取容器中的對象實(shí)例:pull
- 獲取容器中的對象實(shí)例:get
- 綁定類、閉包剥险、對象聪蘸、接口到容器:bind
- 根據(jù)別名獲取類真實(shí)的名字:getAlias
- 綁定一個(gè)類實(shí)例到容器:instance
- 判斷容器中是否存在類和標(biāo)識:bound
- 判斷容器中是否存在類和標(biāo)識:has
- 判斷容器中是否存在類和標(biāo)識:exists
- 創(chuàng)建類實(shí)例,單例:make
- 刪除容器中的對象實(shí)例:delete
- 執(zhí)行函數(shù)或者閉包:invokeFunction
- 執(zhí)行反射類的方法:invokeMethod
- 執(zhí)行反射類的方法:invokeReflectMethod
- 調(diào)用反射執(zhí)行callable:invoke
- 調(diào)用反射表制,執(zhí)行類的實(shí)例化:invokeClass
- 執(zhí)行invokeClass回調(diào):invokeAfter
- 綁定參數(shù):bindParams
- 創(chuàng)建工廠對象實(shí)例:factory
- 獲取對象類型的參數(shù)值:getObjectParam
- 魔術(shù)方法和數(shù)組是訪問:__set健爬、__get、__isset么介、__unset浑劳、offsetExists、offsetGet夭拌、offsetSet、offsetUnset衷咽、count鸽扁、getIterator
Container.php閱讀
計(jì)劃閱讀
[ ] framework源碼
[ ] orm源碼
[ ] helper源碼
留言
點(diǎn)擊留言