thinkphp5中的配置如何使用

thinkphp5中的配置如何使用

一、总结

一句话总结:先加载配置,然后读取配置即可

加载配置 读取配置
Config::load(APP_PATH.'fry_config.php');\\加载配置
config("student_can_check_dif_group");\\读取配置

1、Config::load(APP_PATH.'fry_config.php')加载自建配置文件fry_config.php,到底加载了哪些配置,只有fry_config.php里面的内容么?

其它配置文件 内容

配置文件fry_config.php中的内容如下

也就是我们在配置文件中添加了一条 student_can_check_dif_group 的配置

1 <?php
2
3 //老師相關功能的系統配置
4 return [
5 //是否允許小組之間互相查看筆記情況:
6 'student_can_check_dif_group' =>false,
7
8 ];

其实还有系统自带配置文件config.php中的内容

$fry_config=Config::load(APP_PATH.'fry_config.php');
dump($fry_config);die;

看着两句代码的输出结果便知:

thinkphp5中的配置如何使用

2、如何使用配置?

加载配置 读取配置

先加载配置,然后读取配置即可

Config::load(APP_PATH.'fry_config.php');\\加载配置
dump(config("student_can_check_dif_group"));\\读取配置

这两句话的结果为:

bool(false)

如上结果正确获取了配置文件

不加载配置,直接读取配置效果

dump(config("student_can_check_dif_group"));\\读取配置

直接运行这句话,结果为:

NULL

3、助手函数config("student_can_check_dif_group",true)可修改配置字段为true,这样修改之后fry_config.php中的student_can_check_dif_group字段的值是否改变?

并没有改变

thinkphp5中的配置如何使用

4、测试配置代码及效果?

方法

thinkphp5中的配置如何使用

     //是否允許不同小組之間互相查看
public function canDifGroupCheckAns(){
//$fry_config=Config::load(APP_PATH.'fry_config.php');
Config::load(APP_PATH.'fry_config.php');
dump(config("student_can_check_dif_group"));
config("student_can_check_dif_group",true);
dump(config("student_can_check_dif_group"));
//dump($fry_config);die;
}

5、用配置文件实现 老师 控制学生小组之间是否可以查看不同小组资料  这个操作是否合理?

不合理
数据库

并不合理,因为配置的修改不能修改配置文件本身,这样会导致每次服务器重启,这个功能就被初始化了,比如配置文件设置的false,老师页面点击按钮修改为 true之后,服务器重启,这个被初始化为false,这并不是我们预期的效果

所以这个功能用数据库实现比较好

二、thinkphp5中的配置如何使用

1、创建配置文件

thinkphp5中的配置如何使用

2、配置文件fry_config.php中的内容如下

也就是我们在配置文件中添加了一条 student_can_check_dif_group 的配置

 <?php

 //老師相關功能的系統配置
return [
//是否允許小組之間互相查看筆記情況:
'student_can_check_dif_group' =>false, ];

3、如何使用和修改这条配置

需要加载配置之后才能正常使用

使用配置代码如下:

config("student_can_check_dif_group");

修改配置代码如下(比如我们要将值修改为true):

config("student_can_check_dif_group",true)

并且修改配置只能修改内存值,修改不了文件中的值,

比如我在这里将student_can_check_dif_group从false改成了true,但是我文件fry_config中还是false。

不过在系统其它调用这个配置的位置变成了true,但是文件中还是false。

 
上一篇:VS编译时自动下载NuGet管理的库


下一篇:Android学习笔记进阶21之设置壁纸