-
环境变量 结合 配置文件 很便捷
1、在项目根目录下创建.env文件,在其中写好配置项
2、在项目config.php文件中使用系统函数读取env文件中的配置项如:
use think\Env;
return [
// 'app_status' => 'dev',
'app_status' => Env::get('status', 'home'),
];
在conf目录先创建home.php 配置文件 即可。 此时为项目配置为家种环境配置
查看全部 -
conf下新建对应模块的文件名,文件下放文件 单独对应模块配置
查看全部 -
thinkphp不读取.env文件的键对值
第一:$_ENV会为空,其原因通常是php的配置文件php.ini的配置项为:
;variables_order
;Default Value: “EGPCS”
;Development Value: “GPCS”
;Production Value: “GPCS”
要想让$_ENV的值不为空:
;variables_orderDefault Value: “EGPCS”
;Development Value: “GPCS”
;Production Value: “GPCS”
第二:
Env不显示的问题,需要在base.php中 putenv的同时,将数据也写入$_ENV,就可以解决了
打开thinkphp目录下的base.php文件修改。
ThinkPHP 引导文件
// 1. 加载基础文件
require __DIR__ . '/base.php';
if (is_file(ROOT_PATH . '.env'))
{
$env = parse_ini_file(ROOT_PATH . '.env', true);
foreach ($env as $key => $val) {
$name = ENV_PREFIX . strtoupper($key);
if (is_array($val)) {
foreach ($val as $k => $v) {
$item = $name . '_' . strtoupper($k);
putenv("$item=$v");
}
} else {
putenv("$name=$val"); //加入这一句
$_ENV[$name]=$val;
}
}
}
// 2. 执行应用App::run()->send();
.env在application同级目录,文件格式为
status='dev'[database]
hostname = localhost
database = vxianfeng
username = root
password = root
hostport = 3306prefix = vxf_
查看全部 -
框架中$_ENV 取不到环境变量 将php.ini中
variables_order : "EGPCS";
或
Default Value: "EGPCS"
查看全部 -
在应用目录app下创建common模块 此模块为公共模块 不允许url直接访问
查看全部 -
thinkphp目录下的convention.php为系统默认配置
查看全部 -
Config::has(); 方法 的判断 对配置不存在的和 配置的值为NULL的都将返回false
查看全部 -
扩展
一、 应用配置
1、可在入口文件 /public/index.php中定义配置文件目录
// 定义配置文件目录
define('CONF_PATH',__DIR__. '/../conf/');
2、在根目录下创建conf(目录名称无限制)目录
3、在此目录下 创建config.php(文件名默认)
4、可在conf目录下创建extra目录此目录为自动加载扩展目录,在extra目录中创建的文件名,会自动加载到config数组中,文件名为数组的属性key。
5、场景配置:可在config中定义app_status属性 如'app_status' => 'office', office 为conf目录下的文件
二、模块扩展
1、在conf目录下创建和模块名相同的目录名 如index目录对应index模块
2、在index目录下创建config.php(默认文件名)可在index目录下创建extra目录,此目录为index模块的扩展目录
查看全部 -
__construct 方法 执行任何方法之前都会先执行这个方法
查看全部 -
在conf文件夹下建立和模块名称一致的配置文件,该配置文件只对目录名相同的模块生效
查看全部 -
如果使用场景配置文件,就要配置该场景的所有项。如果我们需要配置数据库,就需要配置数据库的所有项。
方便场景切换,如家里办公环境和公司办公环境的切换。
框架已经写好方法,app_status会跳转到你指向的php文件
查看全部 -
拓展配置优先级高于应用配置
查看全部 -
public目录下的router文件 框架快速启动文件 可在本地此目录下运行:php -S localhost:8888 router.php
然后在浏览器输入localhost:8888查看
查看全部 -
12345
查看全部 -
Config::set('default_return_type',变量)
事先引入Config命名空间
查看全部
举报