php读取env配置文件

这段代码定义了一个名为`Env`的类,用于处理PHP的环境变量。它提供了两个主要方法:`loadFile`用于加载配置文件并设置环境变量,`get`用于获取指定的环境变量值。通过解析ini配置文件,将配置项转换为环境变量,支持二级结构。这个类对于管理和组织PHP应用的环境配置非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php

class Env
{

    const ENV_PREFIX = '';

    /**
     * 加载配置文件
     * @access public
     * @param string $filePath 配置文件路径
     * @return void
     */

    public static function loadFile(string $filePath): void
    {

        if (!file_exists($filePath)) throw new \Exception('配置文件' . $filePath . '不存在');

        $env = parse_ini_file($filePath, true);

        foreach ($env as $key => $val) {

            $prefix = static::ENV_PREFIX . strtoupper($key);

            if (is_array($val)) {

                foreach ($val as $k => $v) {

                    $item = $prefix . '_' . strtoupper($k);

                    putenv("$item=$v");

                }

            } else {

                putenv("$prefix=$val");

            }

        }

    }

    /**
     * 获取环境变量值
     * @access public
     * @param string $name 环境变量名(支持二级 . 号分割)
     * @param string $default 默认值
     * @return mixed
     */

    public static function get(string $name, $default = null)

    {

        $result = getenv(static::ENV_PREFIX . strtoupper(str_replace('.', '_', $name)));

        if (false !== $result) {

            if ('false' === $result) {

                $result = false;

            } elseif ('true' === $result) {

                $result = true;

            }

            return $result;

        }

        return $default;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

对这是我的昵称

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值