dotnev 使用.


1 使用场景.

1 敏感账号信息不可能直接放代码中被 git 管理
2 很方便的支持web 调用 和cli .
3 顺带着实现了中心控制. 一个位置配置,使用时直接 $_ENV['xx'] 调用即可.

2 代码整备

// 2.1  编写 composer.json
	"require" : {
	     ...
		"vlucas/phpdotenv": "^5.1@dev",
		...
#2.2   先写一个 .env.example做为模板.
#数据库配置
DB_HOST=
DB_NAME=
DB_PORT=
DB_USER=
DB_PASSWORD=
DB_TABLE_PREFIX=
#redis 配直
REDIS_HOST=
REDIS_PORT=
REDIS_TIMEOUT=
REDIS_PERSISTENT=
REDIS_DB=
REDIS_PASSWORD=
REDIS_PREFIX=
REDIS_MODE=
REDIS_SENTINEL_MASTER_NAME=

#jwt加密秘钥
JWT_SECRET=
#jwt过期时间(秒) 默认7天
JWT_TTL=604800

#mq参数设置
QUEUE_HOST=
QUEUE_PORT=
QUEUE_API_PORT=
QUEUE_USERNAME=
QUEUE_PASSWORD=
#oss
OSS_REGION_ID=
OSS_ACCESS_KEY_ID=
OSS_ACCESS_KEY_SECRET=
OSS_BUCKET=
OSS_ARM=
OSS_ENDPOINT=
OSS_BASE_URL=

在开发中,将其复制到 .env 文件下,并加入至.gitignore 中.

3 使用方法

//加勒vendor
require_once API_ROOT . '/vendor/autoload.php';
$env_dir =  __DIR__ . "/../");
$dotenv = Dotenv\Dotenv::createImmutable($env_dir);
$dotenv->load();

//使用方法
$db_host = $_ENV['DB_HOST'];