下载好的目录是长 这样样子的。注意:默认没有config文件夹,这个是我后面新加的。
1、application文件夹下面的config.php 是框架自带的配置文件。优先级最低
2、自定义配置
一般我们新建一个config文件夹,然后里面放一些自定义的配置。比如上面截图。名字要为config.php
会优先使用我们自定义的配置!!!
然后还需要定义一下才生效
<?php
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
define('CONF_PATH', __DIR__ . '/../conf/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
3、获取配置文件。看看是否已经生效。
这里我们使用的是thinkphp给我的助手函数 config()
public function xx()
{
dump(config());
}
4、多环境如何设置。
需要设置这个参数 ‘app_status’ => ‘home’
<?php
return [
'app_name' => "lzh",
'app_status' => 'home',
];
需要注意的是,比如我们要重写数据库的配置。必须要把数据库的配置文件的字段全部写全。如果你只写2个,就只显示2个。切记(如果是多环境切换的时候是这样的。如果不是多环境就没事)
5、thinkphp 也支持键当做文件名的写法
比如上面的database.php的写法
比如这种,就不是多环境切换。就可以只写修改项。
6、模块下的独立的配置文件
也很简单。给每个模块配置自己配置文件。模块和模块之间是相互独立的。
7、动态配置
总结:在控制器构造函数中写的配置可以在控制器的其他方法中使用。
在方法里面写的只能在方法中使用。
<?php
namespace app\admin\controller;
class Index
{
/**
* Index constructor.
*/
public function __construct()
{
config("anlimao" ,"小狗");
}
public function xx()
{
config("nickname" ,"科比");
dump(config());
}
public function zz()
{
dump(config());
}
}
7、绑定模块
define('BIND_MODULE','admin');
8、自定义路由
一般默认的路由是 index/index/index 这种。如果想自定义的话,需要开启
<?php
return [
// 是否开启路由
'url_route_on' => true,
// 是否强制使用路由 ,如果强制开启的话,那么默认的路由规则就不能使用,必须在route.php中定义 一般选择false
'url_route_must' => true,
];
然后映射路由
入参自动接收
public function index($id)
{
//用url助手函数查看一下框架帮我们把路由解析成啥样了
echo url("index/index/index",['id'=>10]) . "<br>"; // /index/index/index/id/10.html
echo url("admin/index/index",['id'=>10]) . "<br>"; // /post/10.html
//双引号是解析的意思 单引号不行哦
return "{$id}";
}
9、模块配置的两种写法
https://www.kancloud.cn/manual/thinkphp5/215848
第一种就是在模块本目录下写。直接就可以读取
在extra文件夹下可以这样写,也很方便。
第二种就是自己自定义的任意目录下配置。需要指明路径。