thinkphp5框架说明

p5/                          ;根目录
    /application              ;应用目录 
        /index                ;应用index模块目录 
        command.php           ;命令行命令配置目录
        config.php            ;应用配置文件
        databse.php           ;应用数据库配置文件
        route.php             ;应用路由配置文件
        
    /public                   ;入口目录
        /static               ;静态资源目录
        .htacess              ;apache服务器配置
        index.php             ;默认入口文件
        robots.txt            ;爬虫协议文件
        router.php            ;php命令行服务器入口文件
        
    /thinkphp   ;框架核心目录
        /extend               ;框架扩展目录
        /lang                 ;框架语言目录
        /library              ;框架核心目录
        /mode                 ;框架模式目录
        /tests                ;框架测试目录
        /tpl                  ;框架模板目录
        /vendor               ;第三方目录
        
        base.php              ;全局常量文件
        convention.php        ;全局配置文件
        helper.php            ;辅助函数文件
        start.php             ;框架引导入口
        think.php             ;框架引导文件
        
    /vendor                   ;composer安装目录  
    build.php                 ;默认自动生成配置文件
    composer.json             ;composer安装配置文件
    console                   ;控制台入口文件
    

composer包模式

tp5/                          ;根目录
    /application              ;应用目录 
        /index                ;应用index模块目录 
        command.php           ;命令行命令配置目录
        config.php            ;应用配置文件
        databse.php           ;应用数据库配置文件
        route.php             ;应用路由配置文件
        
    /public                   ;入口目录
        /static               ;静态资源目录
        .htacess              ;apache服务器配置
        index.php             ;默认入口文件
        robots.txt            ;爬虫协议文件
        router.php            ;php命令行服务器入口文件
    
    /vendor                   ;composer安装目录  
    build.php                 ;默认自动生成配置文件
    composer.json             ;composer安装配置文件
    console                   ;控制台入口文件
    
/vendor/topthink/framework    ;框架核心目录
        /extend               ;框架扩展目录
        /lang                 ;框架语言目录
        /library              ;框架核心目录
        /mode                 ;框架模式目录
        /tests                ;框架测试目录
        /tpl                  ;框架模板目录
        /vendor               ;第三方目录
        
        base.php              ;全局常量文件
        convention.php        ;全局配置文件
        helper.php            ;辅助函数文件
        start.php             ;框架引导入口
        think.php             ;框架引导文件
        
  
    

3 主体流程

独立模式

1  /public/index.php     ;框架入口文件
    
    该文件的系统用途:
        定义应用路径
            APP_PATH   /application
        加载框架启动文件
            /thinkphp/start.php
        
    该文件的开发用途:
        这里是框架的入口。
        可以用来自定义全局变量。
        使用思路见 使用范例的 入口文件定义全局变量
        
2 /thinkphp/start.php  ;框架引导入口
    
    该文件的系统用途:
        加载全局变量    
            /thinkphp/base.php
        加载框架加载器
            /thinkphp/library/think/Loader.php
        注册自动加载器
            Loader::register()
            
        加载模式定义文件
            /thinkphp/mode/common.php
        加载模式命名空间
            $mode['namespace']
        加载模式别名定义
            $mode['alias']
        注册错误和异常处理
            Error::register()
        加载模式配置文件
            $mode['config']
        加载模式行为定义
            $mode['tags']
        应用自动生成
            /application/build.php
        应用启动
            /thinkphp/library/think/App.php
            
    该文件的开发用途:
        自定义的模式文件在这里加载,并初始化模式运行环境
        使用思路见使用范例的 运行模式开发
        
3 /thinkphp/library/think/App.php  ;应用启动文件
   
    该文件的系统用途:
        加载composer加载器文件autoload_real.php
        
        注册composer自动加载器
        
        上面第一步过的autoload_real.php文件中
        加载composer预加载文件
        /topthink/framework/start.php
        
    该文件的开发用途:
        这里是应用启动核心,进行url的路由分析和应用控制的调度。
        
        系统在这里从框架跳转到业务逻辑的应用部分运行,然后获取运行结果,使用Response返回到客户端。
        
        注册的路由规则和应用控制器的跳转使用思路见使用范例的 路由规则注册,应用控制器操作,模块开发部分    

composer包模式

1  /public/index.php     ;框架入口文件
    
    该文件的系统用途:
        定义应用路径
            APP_PATH   /application
        开启调试模式
            define('APP_DEBUG', true);
        加载框架引导文件
            /vendor/autoload.php
            或者
            /thinkphp/start.php
        
    该文件的开发用途:
        这里是框架的入口。
        可以用来自定义全局变量。
        使用思路见 使用范例的 入口文件定义全局变量
        
2  /vendor/topthink/framework/start.php  ;框架引导入口
    该文件的系统用途:
        检查全局常量THINK_AUTOLOAD
        
        加载框架引导文件
        /vendor/topthink/framework/think.php
        
    该文件的开发用途:
3  /vendor/topthink/framework/think.php  ;框架引导文件
    
    该文件的系统用途:
        加载全局常量    
            /thinkphp/base.php
        加载框架加载器
            /thinkphp/library/think/Loader.php
        加载应用环境变量配置文件
            /application/env.php
        自动识别调试模式
            define('APP_DEBUG', $debug);
        
       
        加载模式定义文件
            /thinkphp/mode/common.php
        加载模式命名空间
            $mode['namespace']
        
        注册自动加载器
            Loader::register()
        加载模式别名定义
            $mode['alias']
        注册错误和异常处理
            Error::register()
        加载模式配置文件
            $mode['config']
        加载模式行为定义
            $mode['tags']
        应用启动
            /thinkphp/library/think/App.php
            
    该文件的开发用途:
        自定义的模式文件在这里加载,并初始化模式运行环境
        使用思路见使用范例的 运行模式开发
        
4 /thinkphp/library/think/App.php  ;应用启动文件
   
    该文件的系统用途:
    
        初始化应用模块
            self::initModule()
        获取全局配置
            $config = Config::get()
        注册根命名空间
            $config['root_namespace']
        加载额外文件
            $config['extra_file_list']
        设置系统时区
            date_default_timezone_set()
        
        监听应用初始化回调
            Hook::listen('app_init')
        语言包配置
            $config['lang_switch_on']
        
        路由分析
            self::route($config)
        路由日志记录
            Log:record([ROUTE]
        监听应用启动回调
            Hook::listen('app_begin')
        
        应用调度与数据输出
            根据self::$dispatch['type']
            使用不同的调度方法,调用对应业务逻辑
            其中的module调度以框架模块/控制器/操作的方法调度。
            
    该文件的开发用途:
        这里是应用启动核心,进行url的路由分析和应用控制的调度。
        
        系统在这里从框架跳转到业务逻辑的应用部分运行,然后获取运行结果,使用Response返回到客户端。
        
        注册的路由规则和应用控制器的跳转使用思路见使用范例的 路由规则注册,应用控制器操作,模块开发部分
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值