balint-horvath / dotenv-php
Simple .env file parser and ENV loader (.env to getenv() and $_ENV) based on standard PHP INI parser (parse_ini_file).
1.0.0
2017-10-23 19:30 UTC
Requires
- php: >=7.0
Requires (Dev)
- kahlan/kahlan: ^4.0
This package is not auto-updated.
Last update: 2024-11-10 05:51:13 UTC
README
Simple .env file parser and ENV loader (.env
to getenv()
and $_ENV
) based on standard PHP INI parser (parse_ini_file).
Supported methods:
- getenv(variable)
- getenv(section_variable)
- $_ENV[variable]
- $_ENV[section_variable]
- $dotenv->variable
- $dotenv->section->variable
- $dotenv[variable]
- $dotenv[section][variable]
Examples
Installation
To install this library, you need to use Composer in your project. If you are not using Composer yet, here's how to install:
curl -sS https://getcomposer.org/installer | php
via Composer
composer require balint-horvath/dotenv-php
Phar
php composer.phar require balint-horvath/dotenv-php
Example Environment File (INI) (.env)
#.env [API] apiUser = User apiKey = Key
Usage (Instance)
Class
Namespace: \BalintHorvath\DotEnv\
Class: DotEnv
new \BalintHorvath\DotEnv\DotEnv($path)
Properties
(string)
path: Directory of .env file or full path to your ini file. (default:../../../
)(bool)
setEnvironmentVariables: If it'strue
, variables will be available via environment ($_ENV
,getenv()
), otherwise (iffalse
) they'll be available only via the DotEnv as object or array ($dotenv->
$dotenv[]
). (default:true
)(bool)
processSections: If it'strue
, variables will be organized under sections ($dotenv->section
$dotenv[section]
), otherwise sections will have no matter. (default:true
)(bool)
scannerMode: If it'sINI_SCANNER_TYPED
, values0
/off
/"false"
/false
will becomebool
false
, values1
/on
/"true"
/true
will becomebool
true
. Can either beINI_SCANNER_NORMAL
orINI_SCANNER_RAW
. IfINI_SCANNER_RAW
is supplied, then option values will not be parsed. (See PHP Manual: parse_ini_file and PHP Manual: Predefined Constants for more.) (default:INI_SCANNER_TYPED
)
Example
define('APP_DIR', dirname(__FILE__) . '/'); require 'vendor/autoload.php'; $dotenv = new \BalintHorvath\DotEnv\DotEnv(APP_DIR);
Getting environment variables
Object Access
Usage:
$dotenv->{variable} $dotenv->{section}->{variable}
Example:
$dotenv->API->apiUser
API User: <?=$dotenv->API->apiUser?> API Key: <?=$dotenv->API->apiKey?>
ENV Access ($_ENV)
Usage:
$_ENV['{variable}'] $_ENV['{section}']['{variable}']
Example:
$_ENV['API_apiUser']
API User: <?=$_ENV['API_apiUser']?> API Key: <?=$_ENV['API_apiKey']?>
ENV Access (getenv)
Usage:
getenv('variable') getenv('section_variable')
Example:
getenv('API_apiUser')
API User: <?=getenv('API_apiUser')?> API Key: <?=getenv('API_apiKey')?>
Array Access
Usage:
$dotenv[{variable}] $dotenv[{section}][{variable}]
Example:
$dotenv['API']['apiUser']
API User: <?=$dotenv['API']['apiUser']?> API Key: <?=$dotenv['API']['apiKey']?>
Dependencies
Developer Dependencies
- Kahlan 4 (kahlan/kahlan:^4.0)
Unit & BDD Test
This package has included test cases for Kahlan.
PSR
PSR-4 Autoload
- \BalintHorvath\DotEnv\