thinkphp5 环境变量配置

// 加载环境变量配置文件
if (is_file(ROOT_PATH . 'env.php')) {
    $env = parse_ini_file(ROOT_PATH . 'env.php', 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  文件,

windows下面建无名文件挺麻烦的,我改为了env.php  , 
env.php 内容:
Xiong="adasd";


环境变量读取

namespace think;

class Env
{
    /**
     * 获取环境变量值
     * @param string    $name 环境变量名(支持二级 .号分割)
     * @param string    $default  默认值
     * @return mixed
     */
    public static function get($name, $default = null)
    {
        $result = getenv(ENV_PREFIX . strtoupper(str_replace('.', '_', $name))); 
        var_dump( getenv(ENV_PREFIX ."Xiong") ); //打印测试
        if (false !== $result) {
            return $result;
        } else {
            return $default;
        }
    }
}

getenv(ENV_PREFIX ."Xiong")
能获取自己之前env.php 中设定的变量

读取环境变量  \think\Env::get('Xiong');  

但是这个环境变量在开发中什么场景下使用并没有明白,如果仅仅是为了区分开发环境,正式环境,我完全可以用其他配置文件,比如config。

留坑

你可能感兴趣的:(thinkphp5,一行一行啃代码)