msztorc/laravel-env

Laravel 环境变量助手命令

1.3.1 2024-03-18 20:24 UTC

This package is auto-updated.

Last update: 2024-09-18 21:34:56 UTC


README

laravel-env Build Status Quality Score Latest Version on Packagist Total Downloads License

Laravel-Env

通过程序和命令行(通过Artisan)管理环境变量

安装

您可以通过composer安装此包

composer require msztorc/laravel-env

使用

env:get - 获取环境变量值

通过Artisan CLI

php artisan env:get VAR_KEY

仅获取值

$ php artisan env:get APP_NAME
Laravel

获取键值

$ php artisan env:get APP_NAME --key-value
APP_NAME=Laravel

以JSON输出格式获取键值

$ php artisan env:get APP_NAME --json
{"APP_NAME":"Laravel"}

以JSON输出格式打印所有环境变量

$ php artisan env:get --json
{"APP_NAME":"Laravel","APP_ENV":"local","APP_KEY":"","APP_DEBUG":"true","APP_URL":"http:\/\/localhost","LOG_CHANNEL":"stack","DB_CONNECTION":"mysql","DB_HOST":"127.0.0.1","DB_PORT":"3306","DB_DATABASE":"laravel","DB_USERNAME":"root","DB_PASSWORD":"","BROADCAST_DRIVER":"log","CACHE_DRIVER":"file","QUEUE_CONNECTION":"sync","SESSION_DRIVER":"file","SESSION_LIFETIME":"120","REDIS_HOST":"127.0.0.1","REDIS_PASSWORD":"null","REDIS_PORT":"6379","MAIL_MAILER":"smtp","MAIL_HOST":"smtp.mailtrap.io","MAIL_PORT":"2525","MAIL_USERNAME":"null","MAIL_PASSWORD":"null","MAIL_ENCRYPTION":"null","MAIL_FROM_ADDRESS":"null","MAIL_FROM_NAME":"${APP_NAME}","AWS_ACCESS_KEY_ID":"","AWS_SECRET_ACCESS_KEY":"","AWS_DEFAULT_REGION":"us-east-1","AWS_BUCKET":"","PUSHER_APP_ID":"","PUSHER_APP_KEY":"","PUSHER_APP_SECRET":"","PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"${PUSHER_APP_KEY}","MIX_PUSHER_APP_CLUSTER":"${PUSHER_APP_CLUSTER}"}

程序化

<?php

use msztorc\LaravelEnv\Env;

$env = new Env();
$val = $env->getValue('APP_NAME');

echo $val; // Laravel

env:set - 设置环境变量值

通过Artisan CLI

php artisan env:set KEY VALUEphp artisan env:set KEY=VALUEphp artisan env:set KEY "VALUE WITH SPACES"

设置值变体

$ php artisan env:set DB_HOST 10.10.10.10
Environment variable with key 'DB_HOST' has been set to '10.10.10.10'
$ php artisan env:set MAIL_HOST=smtp.mydomain.com
Environment variable with key 'MAIL_HOST' has been set to 'smtp.mydomain.com'

设置包含空格的值

$ php artisan env:set APP_NAME "Laravel App"
Environment variable with key 'APP_NAME' has been set to 'Laravel App'

程序化

<?php

use msztorc\LaravelEnv\Env;

$env = new Env();
$val = $env->setValue('APP_NAME', 'Laravel App');

echo $val; // Laravel App

env:del - 删除环境变量

通过Artisan CLI

php artisan env:del VAR_KEY

$ php artisan env:del PUSHER_APP_ID
Variable 'PUSHER_APP_ID' has been deleted

程序化

<?php

use msztorc\LaravelEnv\Env;

$env = new Env();
$env->deleteVariable('PUSHER_APP_ID');

env:list - 列出所有环境变量

$ php artisan env:list
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

以JSON输出格式打印所有环境变量

$ php artisan env:list --json
{"APP_NAME":"Laravel","APP_ENV":"local","APP_KEY":"","APP_DEBUG":"true","APP_URL":"http:\/\/localhost","LOG_CHANNEL":"stack","DB_CONNECTION":"mysql","DB_HOST":"127.0.0.1","DB_PORT":"3306","DB_DATABASE":"laravel","DB_USERNAME":"root","DB_PASSWORD":"","BROADCAST_DRIVER":"log","CACHE_DRIVER":"file","QUEUE_CONNECTION":"sync","SESSION_DRIVER":"file","SESSION_LIFETIME":"120","REDIS_HOST":"127.0.0.1","REDIS_PASSWORD":"null","REDIS_PORT":"6379","MAIL_MAILER":"smtp","MAIL_HOST":"smtp.mailtrap.io","MAIL_PORT":"2525","MAIL_USERNAME":"null","MAIL_PASSWORD":"null","MAIL_ENCRYPTION":"null","MAIL_FROM_ADDRESS":"null","MAIL_FROM_NAME":"${APP_NAME}","AWS_ACCESS_KEY_ID":"","AWS_SECRET_ACCESS_KEY":"","AWS_DEFAULT_REGION":"us-east-1","AWS_BUCKET":"","PUSHER_APP_ID":"","PUSHER_APP_KEY":"","PUSHER_APP_SECRET":"","PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"${PUSHER_APP_KEY}","MIX_PUSHER_APP_CLUSTER":"${PUSHER_APP_CLUSTER}"}

测试

composer test

API 参考

方法

检查变量是否存在

exists(string $key): bool

参数

string $key 环境变量键

获取当前环境变量的值

getValue(string $key): string

参数

string $key 环境变量键

获取环境变量键值

getKeyValue(string $key): array

参数

string $key 环境变量键

设置环境变量值

setValue(string $key, string $value, $write = true): string

参数

string $key 环境变量键 string $value 变量值 bool $write 将更改写入.env文件(默认=true)

删除环境变量

deleteVariable(string $key, bool $write = true): bool

参数

string $key 环境变量键 bool $write 将更改写入.env文件(默认=true)

从内存中获取所有环境变量

getVariables(): array

从内存中获取当前环境变量的完整配置

getEnvContent(): string

将.env配置写入文件

write(): bool

检查更改是否已保存

isSaved(): bool

检查是否有.env内容更改

wasChanged(): bool

贡献

有关详细信息,请参阅 CONTRIBUTING

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件