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('Admin\User');
3、跨方法调用
# 实例化当前控制器test方法
action('test');
# 实例化当前模块User控制器test方法
action('User\test');
# 实例化Admin模块User控制器test方法
action('Admin\User\test');
4、如何新建一个模块
5、如何新建一个控制器
6、讲解TP运转流程
=============================================================
今日学习
1、配置文件格式
a) ThinkPHP支持多种格式的配置格式,但最终都是解析为PHP数组的方式。
b) 我们主要的学习形式就是数组
return [
'name'=>'',
'age'=>'',
];
2、配置的形式
1、惯例配置
a、惯例配置目录
C:\AppServ\www\tp5\thinkphp\convention.php
b、注意:
大家一般不要修改惯例配置
2、应用配置
a、应用配置目录
C:\AppServ\www\tp5\application\config.php
3、扩展配置
a、扩展配置
其实就是对配置文件进行分目录的管理
b、扩展配置目录
# C:\AppServ\www\tp5\application\database.php
# C:\AppServ\www\tp5\application\extra\用户可以自定义配置文件
c、读取database扩展配置
# 读取databse中的扩展项
dump(config('扩展文件名.password'));
dump(config('database.password'));
# 读取所有的database扩展
dump(config('database'));
d、自定义扩展配置
1、在 扩展目录(C:\AppServ\www\tp5\application\extra)下 新建user.php
2、打开文件
<?php
return [
"name"=>"小郭",
"love"=>"作家",
"wai"=>"小四"
];
3、读取自定义扩展配置
dump(config('user'));
dump(config('user.wai')
4、场景配置
a、解决问题
开发过程可能不同环境下进行开发
b、如何使用
1、修改应用配置(C:\AppServ\www\tp5\application\config.php)
'app_status' => 'home',
2、在应用目录下新建(C:\AppServ\www\tp5\application) 新建对应home.php
3、在home.php 中书写相关配置
5、模块配置
a、解决问题
每一个模块,都有自己特有的配置
b、如何使用(以前台模块为例)
1、在前台模块下(C:\AppServ\www\tp5\application\index)新建 config.php
2、打开配置文件书写
<?php
return [
"index"=>"我是前台配置"
];
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');
think下面有这么一个config类,这个类里面有get方法。
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、系统类(C:\AppServ\www\tp5\thinkphp\library\think)
Config 设置和获取配置文件
5、系统方法(C:\AppServ\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、打开网站根目录(C:\AppServ\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',''),
];
Index.php

<?php
namespace app\index\controller; // 引入Config类 use \think\Config; // 引入Env类 use \think\Env;
class Index
{
public function index()
{
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>';
} // 读取配置文件 public function getConfig(){ // 系统函数读取配置
echo config('name'); // 通过系统类读取配置
// 如果配置项存在 直接输出 不存在返回NULL
echo \think\Config::get('name');
dump(\think\Config::get('abc')); echo dump(Config::get('kouhao')); echo "<hr>"; // 通过config方法获取数组
dump(config('teacher'));
dump(config('teacher.name'));
dump(config('teacher.age')); // 通过config类获取配置
dump(Config::get('teacher'));
dump(Config::get('teacher.sex')); dump(\think\Config::get('teacher')); // 读取应用配置 dump(config('app_name')); } // 读取扩展配置 public function getkuozhan(){
// 读取database扩展
dump(config('database.password'));
dump(config('database'));
// 读取用户自定义扩展
dump(config('user'));
dump(config('user.wai'));
} // 读取场景配置 public function getchangjing(){
dump(config('database.database'));
dump(config('database.password'));
} // 读取模块配置 public function getmokuai(){
dump(config('index'));
} // 动态配置 public function setConfig(){ dump(config('name'));
// 系统方法
// config(参数1,参数2);
config('name','PHP开发'); // 系统类 \think\Config::set('name','WEB前端'); Config::set('name','小程序开发'); dump(config('name'));
} // 加载顺序 public function jiazai(){ // 动态配置 // config('name','动态配置'); // 输出配置 // dump(config('name')); $data=array( "name"=>"惯例配置",
'a'=>'a'
); $data1=array(
"name"=>'应用配置',
"b"=>'b'
); dump(array_merge($data,$data1));
} // 读取环境变量 public function getenv(){ // 系统类
dump(\think\Env::get('name'));
dump(\think\Env::get('abc','不存在')); dump(Env::get('name')); dump(Env::get('database.type'));
}
}
ThinkPHP5.0框架开发--第3章 TP5.0 配置的更多相关文章
- ThinkPHP5.0框架开发--第5章 TP5.0 控制器
ThinkPHP5.0框架开发--第5章 TP5.0 控制器 第5章 TP5.0 控制器 ============================================== 上次复习 1.路 ...
- ThinkPHP5.0框架开发--第4章 TP5.0路由
ThinkPHP5.0框架开发--第4章 TP5.0路由 第4章 TP5.0 路由 ================================================== 上次复习 1. ...
- ThinkPHP5.0框架开发--第1章 Tp5.0安装
ThinkPHP5.0框架开发--第1章 Tp5.0安装 第1章 Tp5.0 安装 ======================================================== 今 ...
- ThinkPHP5.0框架开发--第2章 TP5.0架构
ThinkPHP5.0框架开发--第2章 TP5.0架构 第2章 TP5.0架构 ================================================== 上次复习 1.如 ...
- ThinkPHP5.0框架开发--第11章 TP5.0 杂项
ThinkPHP5.0框架开发--第11章 TP5.0 杂项 第11章 TP5.0 杂项 =============================================== 今日学习 1. ...
- ThinkPHP5.0框架开发--第10章 TP5.0验证器
ThinkPHP5.0框架开发--第10章 TP5.0验证器 第10章 TP5.0验证器 ======================================= 今日学习 1.验证器 1) 控 ...
- ThinkPHP5.0框架开发--第9章 TP5.0视图和模板
ThinkPHP5.0框架开发--第9章 TP5.0视图和模板 第9章 TP5.0视图和模板 ===================================================== ...
- ThinkPHP5.0框架开发--第8章 TP5.0 模型
ThinkPHP5.0框架开发--第8章 TP5.0 模型 第8章 TP5.0 模型 ================================================= 今日学习 1. ...
- ThinkPHP5.0框架开发--第7章 TP5.0数据库操作
ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...
随机推荐
- cocos2d-x之浅析Hello World
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- HTML5-1、标签
本文只是自己学习HTML5时的一些笔记.希望自己能够学好HTML5. 如果有感兴趣的同学.可以互相学习. 我觉得HTML5在未来的开发中站主导地位. 下面开始学习HTML5. 还是从HTML5标签开始 ...
- js获取浏览器中相关容器的高度
网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offset ...
- E5中遍历数组的方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Android的Activity的小知识点
1.android的四种启动模式分别是:standard,singleTop,SingleTask,singleInstance. 我们可以在AndroidMainfest.xml中通过Activit ...
- day10 强制类型转换(更新)
目录 强制类型转换 int() str() list() tuple() set() dict() 总结 强制类型转换 直接看总结 # 定义各个数据类型的值 num_int = 123 num_flo ...
- 系统中 CPU 时间片是多久
Windows 系统中线程轮转时间也就是时间片大约是20ms,如果某个线程所需要的时间小于20ms,那么不到20ms就会切换到其他线程:如果一个线程所需的时间超过20ms,系统也最多只给20ms,除非 ...
- P3387 【模板】缩点 && P3388 【模板】割点(割顶)
Tarjan算法 应用: 有向图的强连通分量 无向图割点和桥 双连通分量 接下来主要谈论前面两者的应用(主要是第三种还没学会) 算法简要介绍 我们需要先理解一下知识:搜索树 有向图的搜索树的4种边,如 ...
- python3配置爬虫开发环境
爬虫:环境搭建 安装python3: 安装python版本:3.7.0 winsdows下的配置:
- python--csv文件读写
最近刚注册了kaggle账号,练习了下简单的knn算法用于手写数字识别.下载的训练和测试文本都是使用csv文件存储的,所以在此重拾下csv模块. csv文件 csv全称(Comma-Separated ...