envs / dotenv
Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automatically.
Fund package maintenance!
Github
Patreon
Opencollective
Installs: 261
Dependents: 0
Suggesters: 0
Security: 0
Stars: 13
Watchers: 9
Forks: 13
Open Issues: 0
Requires
- php: ^7.2 || ^8.0
- filesys/path: ^8.0
README
Loads environment variables from .env
to getenv()
, $_ENV
and $_SERVER
automatically.
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.