msztorc / laravel-env
Laravel 环境变量助手命令
Requires
- php: ^7.3 || ^7.4 || ^8.0 || ^8.1 || ^8.2 || ^8.3
- ext-json: *
- illuminate/support: ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2 || ^3
- orchestra/testbench: ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0
- phpunit/phpunit: ^8.0 || ^9.0 || ^10.0 || ^11.0
This package is auto-updated.
Last update: 2024-09-18 21:34:56 UTC
README
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 VALUE
或 php artisan env:set KEY=VALUE
或 php 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)。有关更多信息,请参阅 许可证文件