tp5学习笔记2

1、配置文件格式
a) ThinkPHP支持多种格式的配置格式,但最终都是解析为PHP数组的方式。

b) 我们主要的学习形式就是数组
    return [
        'name'=>'',
        'age'=>'',
    ];

2、配置的形式
1、惯例配置

    a、惯例配置目录
        /var/www/tp5/thinkphp/convention.php

    b、注意:
        一般不要修改惯例配置

2、应用配置

    a、应用配置目录
        /var/www/tp5/application/config.php

3、扩展配置
    a、扩展配置
        其实就是对配置文件进行分目录的管理

    b、扩展配置目录
        # /var/www/tp5/application/database.php

        # /var/www/tp5/application/extra/用户可以自定义配置文件

    c、读取database扩展配置    

        # 读取databse中的扩展项
        dump(config('扩展文件名.password'));
        dump(config('database.password'));

        # 读取所有的database扩展
        dump(config('database'));

    d、自定义扩展配置

        1、在 扩展目录(/var/www/tp5/application/extra)下 新建user.php

        2、打开文件    
            <?php 
            return [
                "name"=>"小郭",
                "love"=>"作家",
                "wai"=>"小四"

            ];

        3、读取自定义扩展配置
            dump(config('user'));
            dump(config('user.wai')

4、场景配置
    a、解决问题

        开发过程可能不同环境下进行开发

    b、如何使用

        1、修改应用配置(/var/www/tp5/application/config.php)
            'app_status'             => 'home',

        2、在应用目录下新建(/var/www/tp5/application) 新建对应home.php

        3、在home.php 中书写相关配置

5、模块配置

    a、解决问题

        每一个模块,都有自己特有的配置

    b、如何使用(以前台模块为例)

        1、在前台模块下(/var/www/tp5/application/index)新建 config.php

        2、打开配置文件书写
            <?php 
            return [
                "index"=第3章 TP5.0 配置>"我是前台配置"
            ];

6、动态配置

    1、系统方法
        // config(参数1,参数2);
        config('name','PHP开发');

    2、系统类

        \think\Config::set('name','WEB前端');

        use \think\Config;
        Config::set('name','小程序开发');

3、读取配置

1、通过系统类 
    # 如果配置项存在 直接输出 不存在返回NULL
    1、打印配置信息

        echo \think\Config::get('name');

    2、打印数组配置信息
        echo \think\Config::get('teacher');
        echo \think\Config::get('teacher.name');

2、通过系统方法
    1、打印配置信息
        echo config('name');

    2、打印数组配置信息
        dump(config('teacher'));
        dump(config('teacher.name'));

    3、读取所有配置
        dump(config());

3、使用use
    1、打印配置信息

        use \think\Config;
        echo Config::get('kouhao');
    2、打印数组配置信息
        use \think\Config;
        echo Config::get('teacher');
        echo Config::get('teacher.name');

4、系统类(/var/www/tp5/thinkphp\library\think)

Config 设置和获取配置文件

5、系统方法(/var/www/tp5/thinkphp\helper.php)

Controller  实例化控制器
action      调用模块的操作方法
config      设置和获取配置
dump        浏览器友好的变量输出

6、配置文件之间的加载顺序
1、优先级
动态配置>模块配置>场景配置>扩展配置>应用配置>惯例配置

2、加载顺序
    惯例配置->应用配置->扩展配置->场景配置->模块配置->动态配置

3、配置文件实现原理
    $data=array(
        "name"=>"惯例配置",
        'a'=>'a'
        );

    $data1=array(
        "name"=>'应用配置',
        "b"=>'b'
        );
    # 后面加载的配置,把前面加载匹配同名覆盖
    dump(array_merge($data,$data1));

7、环境变量配置
1、TP5.0 支持环境变量配置

2、设置环境变量配置

    a、打开网站根目录(/var/www/tp5) 新建.env

    b、书写环境配置
        name=haoge
        age=18

        [database]
        type=mysql
        root=root
        pass=123qweaasd
    c、注意配置环境变量不能使用中文

3、读取环境配置
    a、命名空间
        dump(\think\Env::get('name'));
        dump(\think\Env::get('abc','不存在'));
        # 读取数组配置
        # 不能读取整个数组
        dump(\think\Env::get('database.type'));

    b、use 导入系统类
        use \think\Env;
        dump(Env::get('name'));
        # 读取数组配置
        # 不能读取整个数组
            dump(Env::get('database.type'));

4、如何使用

    打开配置文件    
        use \think\Env;
        return [

            // 应用调试模式
            'app_debug'              => Env::get('app_debug',false),
            // 应用模式状态
            'app_status'             => Env::get('app_status',''),
        ];
  • thinkCMF上传图片

    thinkCMF上传图片 1、要使用这个功能,首先要引入框架自带的admin.js或者frontend.js文件 再上传的地方添加 1234567891011121314151617181920212223242526...

    thinkCMF上传图片
  • 小程序开发

    小程序开发 获取access_token要将申请的测试号的appid和secret填在相应的位置,而不是填公众号的appid和secret。

    小程序开发
  • global与GLOBAL区别

    global与GLOBAL区别 1.有些场合需要全局变量的出现,如下例子:<?php$name=”why”;//定义变量name,并初始化function echoName(){//试图引用函数外面的变量echo “m...

    global与GLOBAL区别
  • PHP取整

    PHP取整 1.直接取整,舍弃小数,保留整数:intval($a);2.四舍五入取整:round($a);3.向上取整,有小数就加1:ceil($a);4.向下取整:floor($a)。

    PHP取整
  • 为什么PHP变量以$开头

    PHP变量 ​ Because PHP was based on Perl which used $, though the symbols Perl used were meaningful andplenty us...

    为什么PHP变量以$开头
  • PHP超全局变量

    PHP超全局变量 PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。 PHP 超级全局变量列表: $GLOBALS $G...

    PHP超全局变量
  • 面试准备

    PHP面试题目 1、阿里PHP面试​ https://blog.csdn.net/qishouzhang/article/details/47007177 1、get与post的区别​ 最直观的区别就是GET把参数...

    面试准备
  • tp5学习笔记9

    tp5学习笔记9 1、验证器1) 控制器中使用验证器 // 实例化验证器类 $validate=new Validate( [ &q...

    tp5学习笔记9
  • tp5学习笔记8

    tp5学习笔记8 1、视图a) 加载页面 1、继承系统控制器类 return $this->fetch(参数1,参数2,参数3,参数4); 参数1(字符串): 模板...

    tp5学习笔记8
  • tp5学习笔记7

    tp5学习笔记7 1、模型(model)数据模型 2、新建数据模型​ 1) 手动新建 在model目录下 新建 User.php // 声明命名空间 namespace a...

    tp5学习笔记7