/dotenv

Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automatically.

Primary LanguagePHPMIT LicenseMIT

PHP Dotenv

Loads environment variables from .env to getenv(), $_ENV and $_SERVER automatically.

Banner

Total Downloads Latest Version

Installation

Installation is super-easy via Composer

composer require envs/dotenv

or add it by hand to your composer.json file.

Usage

use Dotenv\Dotenv;
require 'vendor/autoload.php';

If already .env file existing on current directory

$dotenv = Dotenv::process(__DIR__);
$dotenv->load();

If already .env file existing on current directory without throwing error

$dotenv = Dotenv::process(__DIR__);
$dotenv->safeLoad();

If already .env file existing on current directory

$dotenv = Dotenv::process(__DIR__, 'myconfig.env');
$dotenv->load();

Loads multiple .env files.

$dotenv = Dotenv::process(__DIR__, ['.env.local', '.env.example', '.env'], false);
$dotenv->load();

All of the defined variables are now available in the $_ENV and $_SERVER super-globals.

$s3_bucket = $_ENV['S3_BUCKET'];
$s3_bucket = $_SERVER['S3_BUCKET'];

Nesting Variables

It's possible to nest an environment variable within another, useful to cut down on repetition.

This is done by wrapping an existing environment variable in ${…} e.g.

BASE_DIR="/var/webroot/project-root"
CACHE_DIR="${BASE_DIR}/cache"
TMP_DIR="${BASE_DIR}/tmp"

Requiring Variables to be Set

PHP dotenv has built in validation functionality, including for enforcing the presence of an environment variable. This is particularly useful to let people know any explicit required variables that your app will not work without.

You can use a single string:

$dotenv->required('DATABASE_DSN');

Or an array of strings:

$dotenv->required(['DB_HOST', 'DB_NAME', 'DB_USER', 'DB_PASS']);

Security

If you discover a security vulnerability within this package, please send an email to shahzadamodassir@gmail.com All security vulnerabilities will be promptly addressed. You may view our full security policy here.

License

PHP dotenv is licensed under MIT License.