Skip to content

Repository files navigation

env

Build StatusScrutinizer Code QualityCode ClimatePHP 7Latest Stable VersionLicense

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
    (newPhoole\Env\Environment())->load(__DIR__ . '/.env');
    // use env valuesechogetenv('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 thoughROOT_DIR = /var/tmp
    # same as aboveROOT_DIR=/var/tmp
    # same as aboveROOT_DIR="/var/tmp"
  • PSR-1, PSR-4, PSR-12 compliant.

Testing

$ composer test

Dependencies

  • PHP >= 7.2.0

License

About

Simple environment variables loader library for PHP

Topics

Resources

Stars

3 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages