phoole / env
Simple environment variables loader library for PHP
Installs: 19
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/phoole/env
Requires
- php: >=7.2.0
- phoole/base: ~1.0.18
Requires (Dev)
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2025-10-19 20:48:14 UTC
README
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.
Installation
Install via the composer utility.
composer require "phoole/env"
or add the following lines to your composer.json
{
    "require": {
       "phoole/env": "1.*"
    }
}
Usage
- 
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 (new Phoole\Env\Environment())->load(__DIR__ . '/.env'); // use env values echo getenv('APP_DIR'); 
Features
- 
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 though ROOT_DIR = /var/tmp # same as above ROOT_DIR=/var/tmp # same as above ROOT_DIR="/var/tmp" 
Testing
$ composer test
Dependencies
- PHP >= 7.2.0