# env
[![Software License][ico-license]](LICENSE)
[![Total Downloads][ico-downloads]][link-downloads]
Simple library to get environment variables converted to simple types.
## Installation
This package is installable and autoloadable via Composer as
[oscarotero/env](https://packagist.org/packages/oscarotero/env).
```sh
composer require oscarotero/env
```
## Example
```php
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 boolean `false`
- `"true"` is converted to boolean `true`
- `"null"` is converted to `null`
- 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 values
- `Env::CONVERT_NULL` To convert null values
- `Env::CONVERT_INT` To convert integer values
- `Env::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`, instead `getenv()`.
- `Env::USE_SERVER_ARRAY` To get the values from `$_SERVER`, instead `getenv()`.
- `Env::LOCAL_FIRST` To get first the values of locally-set environment
variables.
```php
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:
```php
use Env\Env;
Env::$default = false;
```
## The env() function
You can use the `env()` function, like in Laravel or other frameworks:
```php
use function Env\env;
var_dump(env('FOO'));
```
---
Please see [CHANGELOG](CHANGELOG.md) for more information about recent changes.
The MIT License (MIT). Please see [LICENSE](LICENSE) for more information.
[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
[ico-downloads]: https://img.shields.io/packagist/dt/oscarotero/env.svg?style=flat-square
[link-downloads]: https://packagist.org/packages/oscarotero/env
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]