msztorc/laravel-env
Composer 安装命令:
composer require msztorc/laravel-env
包简介
Laravel env helper commands
README 文档
README
Laravel-Env
Managing environment variables programmatically and from the command line (by the artisan)
Installation
You can install the package via composer:
composer require msztorc/laravel-env
Usage
env:get - Getting environment variable value
CLI by Artisan
php artisan env:get VAR_KEY
Get value only
$ php artisan env:get APP_NAME Laravel
Get key-value
$ php artisan env:get APP_NAME --key-value APP_NAME=Laravel
Get key-value as JSON output
$ php artisan env:get APP_NAME --json
{"APP_NAME":"Laravel"}
Print all env variables as JSON output
$ 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}"}
Programmatically
<?php use msztorc\LaravelEnv\Env; $env = new Env(); $val = $env->getValue('APP_NAME'); echo $val; // Laravel
env:set - Setting environment variable value
CLI by Artisan
php artisan env:set KEY VALUE or php artisan env:set KEY=VALUE or php artisan env:set KEY "VALUE WITH SPACES"
Set value variants
$ 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'
Setting a value containing spaces
$ php artisan env:set APP_NAME "Laravel App" Environment variable with key 'APP_NAME' has been set to 'Laravel App'
Programmatically
<?php use msztorc\LaravelEnv\Env; $env = new Env(); $val = $env->setValue('APP_NAME', 'Laravel App'); echo $val; // Laravel App
env:del - Deleting environment variable
CLI by Artisan
php artisan env:del VAR_KEY
$ php artisan env:del PUSHER_APP_ID
Variable 'PUSHER_APP_ID' has been deleted
Programmatically
<?php use msztorc\LaravelEnv\Env; $env = new Env(); $env->deleteVariable('PUSHER_APP_ID');
env:rename - Renaming environment variable key
CLI by Artisan
php artisan env:rename CURRENT_KEY NEW_KEY
$ php artisan env:rename APP_NAME APPLICATION_NAME Environment variable 'APP_NAME' has been renamed to 'APPLICATION_NAME'
Programmatically
<?php use msztorc\LaravelEnv\Env; $env = new Env(); $env->renameVariable('APP_NAME', 'APPLICATION_NAME');
env:list - List all environments variables
$ 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}"
Print all env variables as JSON output
$ 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}"}
Testing
composer test
API Reference
Methods
Check if the variable exists
exists(string $key): bool
Params
string $key Environment variable key
Get the current env variable value
getValue(string $key): string
Params
string $key Environment variable key
Get env key-value
getKeyValue(string $key): array
Params
string $key Environment variable key
Set env variable value
setValue(string $key, string $value, $write = true): string
Params
string $key Environment variable key string $value Variable value bool $write Write changes to .env file (default=true)
Delete environment variable
deleteVariable(string $key, bool $write = true): bool
Params
string $key Environment variable key bool $write Write changes to .env file (default=true)
Rename environment variable key, preserving its value
renameVariable(string $currentKey, string $newKey, bool $write = true): bool
Params
string $currentKey Existing environment variable key string $newKey New environment variable key bool $write Write changes to .env file (default=true)
Returns true on success, false if the variable does not exist.
Get all env variables from memory
getVariables(): array
Get current env entire config from memory
getEnvContent(): string
Write env config to file
write(): bool
Check if the changes has been saved
isSaved(): bool
Check if there were any env content changes
wasChanged(): bool
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.
msztorc/laravel-env 适用场景与选型建议
msztorc/laravel-env 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 58.36k 次下载、GitHub Stars 达 78, 最近一次更新时间为 2020 年 05 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「command」 「laravel」 「environment」 「artisan」 「env」 「variables」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 msztorc/laravel-env 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 msztorc/laravel-env 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 msztorc/laravel-env 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Environment processor and contexts autoloader
A Wrapper for exec and it's results
Symfony bundle to monitor and execute commands
The tenancy/tenancy identification driver using environment variables
Shell command module for PHP.
Multiple cascading environmental configuration files support for Laravel 5
统计信息
- 总下载量: 58.36k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 78
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-05-20
