Awesome
env
Simple library to get environment variables converted to simple types.
Installation
This package is installable and autoloadable via Composer as oscarotero/env.
composer require oscarotero/env
Example
use Env\Env;
// Using getenv function:
var_dump(getenv('FOO')); //string(5) "false"
// Using Env:
var_dump(Env::get('FOO')); //bool(false)
Available conversions
"false"
is converted to booleanfalse
"true"
is converted to booleantrue
"null"
is converted tonull
- If the string contains only numbers is converted to an integer
- If the string has quotes, remove them
Options
To configure the conversion, you can use the following constants (all enabled by default):
Env::CONVERT_BOOL
To convert boolean valuesEnv::CONVERT_NULL
To convert null valuesEnv::CONVERT_INT
To convert integer valuesEnv::STRIP_QUOTES
To remove the quotes of the strings
There's also additional settings that you can enable (they're disabled by default)
Env::USE_ENV_ARRAY
To get the values from$_ENV
, insteadgetenv()
.Env::USE_SERVER_ARRAY
To get the values from$_SERVER
, insteadgetenv()
.Env::LOCAL_FIRST
To get first the values of locally-set environment variables.
use Env\Env;
//Convert booleans and null, but not integers or strip quotes
Env::$options = Env::CONVERT_BOOL | Env::CONVERT_NULL;
//Add one more option
Env::$options |= Env::USE_ENV_ARRAY;
//Remove one option
Env::$options ^= Env::CONVERT_NULL;
Default value
By default, if the value does not exist, returns null
, but you can change for
any other value:
use Env\Env;
Env::$default = false;
The env() function
You can use the env()
function, like in Laravel or other frameworks:
use function Env\env;
var_dump(env('FOO'));
Please see CHANGELOG for more information about recent changes.
The MIT License (MIT). Please see LICENSE for more information.