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获取应用根目录:getDefaultRootPathCache。php阅读属性:namespace获取默认驱动:getDefaultDriver获取缓存配置:getConfig获取驱动配置:getStoreConfirm未知:resolveType未知:resolveConfig连接获取切换缓存:store清空缓存池:clear读取缓存:get写入缓存:set删除缓存:delete读取缓存:getMultiple写入缓存:setMultiple删除缓存:deleteMultiple判断缓存是否存在:has缓存标签:tagConfig。php阅读属性:config、path、ext构造方法:construct未知:make加载配置文件:load解析配置文件:parse判断配置是否存在:has获取一级配置:pull获取配置:get设置配置:setConsole。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返回所有命名空间:extractAllNamesapcesContainer。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源码留言
点击链接