Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tekintian/phpenv

php环境下 evn环境解析处理工具类库, 支持自定义env文件加载, 自动类型过滤和转换,自动加载等功能。
https://github.com/tekintian/phpenv

env helper php

Last synced: about 9 hours ago
JSON representation

php环境下 evn环境解析处理工具类库, 支持自定义env文件加载, 自动类型过滤和转换,自动加载等功能。

Awesome Lists containing this project

README

        

# PHP .ENV环境变量解析工具

php环境下 evn环境解析处理工具类库, 支持自定义env文件加载, 自动类型过滤和转换,自动加载等功能。

## 使用方法:

### Composer 方式

1. Composer安装类库

~~~sh
# 加载env类库
composer require tekintian/phpenv

# 本类库依赖 vlucas/phpdotenv 和 phpoption/phpoption 上面的命令执行后这2个依赖会自动加载
~~~

2. 加载env环境配置文件和使用示例

注意 当前的入口文件位于 public 下,

~~~php
# 在你的项目的入口中增加
require_once dirname(__DIR__) . '/vendor/autoload.php';

# 加载自定义env文件
# Env::load(dirname(__DIR__), '.env');
# 直接使用 env 函数获取,支持默认数据和数据过滤和类型转换
$app_url = env("APP_URL");

var_dump($app_url);


# 获取int类型数据
$app_port = env("APP_PORT",80,'int');

# 获取 bool类型数据
$debug = env("APP_DEBUG",false,'bool');

# 其他还支持 int, float, bool, url ,ip, regexp, email, domain , string 数据过滤和验证,使用方法类似。

~~~

- 1.0.x版本使用方法

~~~php

# 在你的项目的入口中增加
require_once dirname(__DIR__) . '/vendor/autoload.php';
# 定义项目根目录
define('ROOT_PATH', dirname(__DIR__));

use tekintian\phpenv\Env;
# 如果你的.env文件不在项目根路径中,则需要手动执行Env::load加载
# 加载环境变量配置文件 注意第一个参数为env环境配置文件的路径, 第二个参数为环境配置文件名mor .env
#Env::load(dirname(__DIR__), '.env');

# 使用自定义助手函数获取配置
// $app_url = env("APP_URL", "");

# 直接使用Env对象获取
$app_url = Env::get("APP_URL");

var_dump($app_url);
~~~

3. .env 环境配置文件参考示例

~~~env
APP_NAME=Laravel
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost
~~~

## env 函数封装

~~~php
APP_URL=%s
APP_NAME=%s", $app_url, env('APP_NAME'));

~~~

helper/helper.php 文件

~~~php
env('APP_NAME', 'MyApp'),
'env' => env('APP_ENV', 'production'),
'debug' => (bool) env('APP_DEBUG', false),
'url' => env('APP_URL', 'http://localhost'),
];

~~~