zoukankan      html  css  js  c++  java
  • ThinkPHP5.0框架开发--第3章 TP5.0 配置

    ThinkPHP5.0框架开发--第3章 TP5.0 配置

    第3章 TP5.0 配置

    =============================================================

    上次复习

    1、框架名词

             1、入口文件

             2、应用

             3、模块(前台模块 后台模块)

             4、控制器

             5、数据模型

             6、视图

             7、命名空间

    2、跨控制器调用

            

             # 实例化 当前模块User控制器

             controller('User');

             # 实例化后台模块User控制器

             controller('AdminUser');

    3、跨方法调用

             # 实例化当前控制器test方法

             action('test');

             # 实例化当前模块User控制器test方法

             action('User est');

             # 实例化Admin模块User控制器test方法

             action('AdminUser est');

    4、如何新建一个模块

    5、如何新建一个控制器

    6、讲解TP运转流程

    =============================================================

    今日学习

    1、配置文件格式

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

             b) 我们主要的学习形式就是数组

                       return [

                                'name'=>'',

                                'age'=>'',

                       ];

    2、配置的形式

             1、惯例配置

                       a、惯例配置目录

                                C:AppServwww p5 hinkphpconvention.php

                       b、注意:

                                大家一般不要修改惯例配置

             2、应用配置

                       a、应用配置目录

                                C:AppServwww p5applicationconfig.php

             3、扩展配置

                       a、扩展配置

                                其实就是对配置文件进行分目录的管理

                       b、扩展配置目录

                                # C:AppServwww p5applicationdatabase.php

                                # C:AppServwww p5applicationextra用户可以自定义配置文件

                       c、读取database扩展配置 

                                # 读取databse中的扩展项

                                dump(config('扩展文件名.password'));

                                dump(config('database.password'));

                                # 读取所有的database扩展

                                dump(config('database'));

                       d、自定义扩展配置

                                1、在 扩展目录(C:AppServwww p5applicationextra)下 新建user.php

                                2、打开文件 

                                         <?php

                                         return [

                                                   "name"=>"小郭",

                                                   "love"=>"作家",

                                                   "wai"=>"小四"

                                         ];

                                3、读取自定义扩展配置

                                         dump(config('user'));

                                         dump(config('user.wai')

             4、场景配置

                       a、解决问题

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

                       b、如何使用

                                1、修改应用配置(C:AppServwww p5applicationconfig.php)

                                    'app_status'             => 'home',

                           2、在应用目录下新建(C:AppServwww p5application) 新建对应home.php

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

             5、模块配置

                       a、解决问题

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

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

                                1、在前台模块下(C:AppServwww p5applicationindex)新建 config.php

                                2、打开配置文件书写

                                         <?php

                                         return [

                                                   "index"=>"我是前台配置"

                                         ];

             6、动态配置

                       1、系统方法

                                // config(参数1,参数2);

                                config('name','PHP开发');

                       2、系统类

                                hinkConfig::set('name','WEB前端');

                                use hinkConfig;

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

    3、读取配置

            

             1、通过系统类

                       # 如果配置项存在 直接输出 不存在返回NULL

                       1、打印配置信息

                                echo hinkConfig::get('name');

                                think下面有这么一个config类,这个类里面有get方法。

                       2、打印数组配置信息

                                echo hinkConfig::get('teacher');

                                echo hinkConfig::get('teacher.name');

                      

             2、通过系统方法

                       1、打印配置信息

                                echo config('name');

                       2、打印数组配置信息

                                dump(config('teacher'));

                                dump(config('teacher.name'));

                       3、读取所有配置

                                dump(config());

             3、使用use

                       1、打印配置信息

                                use hinkConfig;

                                echo Config::get('kouhao');

                       2、打印数组配置信息

                                use hinkConfig;

                                echo Config::get('teacher');

                                echo Config::get('teacher.name');

    4、系统类(C:AppServwww p5 hinkphplibrary hink)

            

             Config 设置和获取配置文件

    5、系统方法(C:AppServwww p5 hinkphphelper.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、打开网站根目录(C:AppServwww p5) 新建.env

                       b、书写环境配置

                                name=haoge

                                age=18

                                [database]

                                type=mysql

                                root=root

                                pass=123qweaasd

                       c、注意配置环境变量不能使用中文

     

             3、读取环境配置

                       a、命名空间

                           dump( hinkEnv::get('name'));

                           dump( hinkEnv::get('abc','不存在'));

                           # 读取数组配置

                           # 不能读取整个数组

                           dump( hinkEnv::get('database.type'));

                       b、use 导入系统类

                           use hinkEnv;

                           dump(Env::get('name'));

                           # 读取数组配置

                           # 不能读取整个数组

                                    dump(Env::get('database.type'));

             4、如何使用

                       打开配置文件        

                                use hinkEnv;

                                return [

                                   

                                    // 应用调试模式

                                    'app_debug'              => Env::get('app_debug',false),

                                    // 应用模式状态

                                    'app_status'             => Env::get('app_status',''),

                                ];

    Index.php

      1 <?php
      2 namespace appindexcontroller;
      3 
      4 // 引入Config类
      5 
      6 use 	hinkConfig;
      7 
      8 // 引入Env类
      9 
     10 use 	hinkEnv;
     11 class Index
     12 {
     13     public function index()
     14     {
     15         return '<style type="text/css">*{ padding: 0; margin: 0; } .think_default_text{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p> ThinkPHP V5<br/><span style="font-size:30px">十年磨一剑 - 为API开发设计的高性能框架</span></p><span style="font-size:22px;">[ V5.0 版本由 <a href="http://www.qiniu.com" target="qiniu">七牛云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_bd568ce7058a1091"></thinkad>';
     16     }
     17 
     18     // 读取配置文件
     19 
     20     public function getConfig(){
     21 
     22         // 系统函数读取配置
     23         echo config('name');
     24 
     25         // 通过系统类读取配置
     26         // 如果配置项存在 直接输出 不存在返回NULL
     27         echo 	hinkConfig::get('name');
     28         dump(	hinkConfig::get('abc'));
     29     
     30         echo dump(Config::get('kouhao'));
     31 
     32         echo "<hr>";
     33 
     34         // 通过config方法获取数组
     35         dump(config('teacher'));
     36         dump(config('teacher.name'));
     37         dump(config('teacher.age'));
     38 
     39         // 通过config类获取配置
     40         dump(Config::get('teacher'));
     41         dump(Config::get('teacher.sex'));
     42 
     43         dump(	hinkConfig::get('teacher'));
     44 
     45         // 读取应用配置
     46 
     47         dump(config('app_name'));
     48 
     49     }    
     50 
     51     // 读取扩展配置
     52 
     53     public function getkuozhan(){
     54         // 读取database扩展
     55         dump(config('database.password'));
     56         dump(config('database'));
     57         // 读取用户自定义扩展
     58         dump(config('user'));
     59         dump(config('user.wai'));
     60     }
     61 
     62     // 读取场景配置
     63 
     64     public function getchangjing(){
     65         dump(config('database.database'));
     66         dump(config('database.password'));
     67     }
     68 
     69     // 读取模块配置
     70 
     71     public function getmokuai(){
     72         dump(config('index'));
     73     }
     74 
     75     // 动态配置
     76 
     77     public function setConfig(){
     78 
     79         dump(config('name'));
     80         // 系统方法
     81         // config(参数1,参数2);
     82         config('name','PHP开发');
     83 
     84         // 系统类
     85 
     86         	hinkConfig::set('name','WEB前端');
     87 
     88         Config::set('name','小程序开发');
     89 
     90         dump(config('name'));
     91     }
     92 
     93     // 加载顺序
     94 
     95     public function jiazai(){
     96 
     97         // 动态配置
     98 
     99         // config('name','动态配置');
    100 
    101         // 输出配置
    102 
    103         // dump(config('name'));
    104 
    105         $data=array(
    106 
    107             "name"=>"惯例配置",
    108             'a'=>'a'
    109             );
    110 
    111         $data1=array(
    112             "name"=>'应用配置',
    113             "b"=>'b'
    114             );
    115 
    116         dump(array_merge($data,$data1));
    117     }
    118 
    119     // 读取环境变量
    120 
    121     public function getenv(){
    122 
    123         // 系统类
    124         dump(	hinkEnv::get('name'));
    125         dump(	hinkEnv::get('abc','不存在'));
    126 
    127         dump(Env::get('name'));
    128 
    129         dump(Env::get('database.type'));
    130     }
    131 }
  • 相关阅读:
    ASP.NET上传文件的三种基本方法
    实例分析 equals 和 ==
    如何保证Web Service的安全
    Winform动态显示图片,数据流方式
    C# 文件保存到数据库中或者从数据库中读取文件
    简说Session
    NotifyIcon的简单使用
    c# Invoke和BeginInvoke 区别
    DataGridView 的 CurrentCellDirtyStateChanged事件用法
    十种发送邮件的方式
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8592301.html
Copyright © 2011-2022 走看看