下载好的目录是长 这样样子的。注意:默认没有config文件夹,这个是我后面新加的。
image.png

1、application文件夹下面的config.php 是框架自带的配置文件。优先级最低

2、自定义配置

一般我们新建一个config文件夹,然后里面放一些自定义的配置。比如上面截图。名字要为config.php
会优先使用我们自定义的配置!!!
然后还需要定义一下才生效

  1. <?php
  2. // [ 应用入口文件 ]
  3. // 定义应用目录
  4. define('APP_PATH', __DIR__ . '/../application/');
  5. define('CONF_PATH', __DIR__ . '/../conf/');
  6. // 加载框架引导文件
  7. require __DIR__ . '/../thinkphp/start.php';

image.png

3、获取配置文件。看看是否已经生效。

这里我们使用的是thinkphp给我的助手函数 config()

  1. public function xx()
  2. {
  3. dump(config());
  4. }

image.png

4、多环境如何设置。

需要设置这个参数 ‘app_status’ => ‘home’

  1. <?php
  2. return [
  3. 'app_name' => "lzh",
  4. 'app_status' => 'home',
  5. ];

image.png
image.png
需要注意的是,比如我们要重写数据库的配置。必须要把数据库的配置文件的字段全部写全。如果你只写2个,就只显示2个。切记(如果是多环境切换的时候是这样的。如果不是多环境就没事)

5、thinkphp 也支持键当做文件名的写法

比如上面的database.php的写法
比如这种,就不是多环境切换。就可以只写修改项。
image.png

6、模块下的独立的配置文件

也很简单。给每个模块配置自己配置文件。模块和模块之间是相互独立的。
image.png
7、动态配置
总结:在控制器构造函数中写的配置可以在控制器的其他方法中使用。
在方法里面写的只能在方法中使用。

  1. <?php
  2. namespace app\admin\controller;
  3. class Index
  4. {
  5. /**
  6. * Index constructor.
  7. */
  8. public function __construct()
  9. {
  10. config("anlimao" ,"小狗");
  11. }
  12. public function xx()
  13. {
  14. config("nickname" ,"科比");
  15. dump(config());
  16. }
  17. public function zz()
  18. {
  19. dump(config());
  20. }
  21. }

7、绑定模块

  1. define('BIND_MODULE','admin');

image.png

8、自定义路由

一般默认的路由是 index/index/index 这种。如果想自定义的话,需要开启

  1. <?php
  2. return [
  3. // 是否开启路由
  4. 'url_route_on' => true,
  5. // 是否强制使用路由 ,如果强制开启的话,那么默认的路由规则就不能使用,必须在route.php中定义 一般选择false
  6. 'url_route_must' => true,
  7. ];

image.png

然后映射路由
image.png

入参自动接收

  1. public function index($id)
  2. {
  3. //用url助手函数查看一下框架帮我们把路由解析成啥样了
  4. echo url("index/index/index",['id'=>10]) . "<br>"; // /index/index/index/id/10.html
  5. echo url("admin/index/index",['id'=>10]) . "<br>"; // /post/10.html
  6. //双引号是解析的意思 单引号不行哦
  7. return "{$id}";
  8. }

9、模块配置的两种写法

https://www.kancloud.cn/manual/thinkphp5/215848
第一种就是在模块本目录下写。直接就可以读取
image.png
在extra文件夹下可以这样写,也很方便。
image.png

第二种就是自己自定义的任意目录下配置。需要指明路径。
image.png
image.png