Simple environment variables loader library for PHP. It loads environment variables from a .env file. It requires PHP 7.2+ and is compliant with PSR-1, PSR-4, PSR-12.
Install via the composer utility.
composer require "phoole/env"
or add the following lines to your composer.json
{
"require": {
"phoole/env": "1.*"
}
}Put your environments in file
.env. By default, existing environment variables are not overwritten.# this is comment line BASE_DIR = /usr/local # spaces allowed# use reference here APP_DIR = ${BASE_DIR}/app # /usr/local/app# use bash style :- or := TMP_DIR = ${SYSTEM_TMP_DIR:-${APP_DIR}/tmp}
See shell variable expansion for
:-and:=usage.Load and use your env variables in PHP script
<?php# load env file, will NOT overwrite existing env variables (newPhoole\Env\Environment())->load(__DIR__ . '/.env'); // use env valuesechogetenv('APP_DIR');
Support shell default values,
${param:-new}or${param:=new}By default, WILL NOT overwrite any existing environment variables. which makes possible for importing environment variables from command line in the case of docker.
To overwrite existing env variables,
env->load('./.env', TRUE);
Relaxed syntax (not compatible with bash) in env file
# spaces before and after '=' is allowed. NOT recommended thoughROOT_DIR = /var/tmp # same as aboveROOT_DIR=/var/tmp # same as aboveROOT_DIR="/var/tmp"
$ composer test- PHP >= 7.2.0
