morrislaptop/phpdotenv-safe 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

morrislaptop/phpdotenv-safe

最新稳定版本:v0.0.1

Composer 安装命令:

composer require morrislaptop/phpdotenv-safe

包简介

Load environment variables from .env and ensure they're all present

README 文档

README

Drop in replacement for vlucas/phpdotenv, but ensures that all necessary environment variables are defined after reading from .env. These needed variables are read from .env.example, which should be committed along with your project.

This is heavily inspired by dotenv-safe.

Build Status

Installation

composer require morrislaptop/phpdotenv-safe

Example

# .env.example, committed to repo
SECRET=
TOKEN=
KEY=
# .env, private
SECRET=topsecret
TOKEN=
$dotenv = new DotenvSafe\DotenvSafe(__DIR__);
$dotenv->load();

Since the provided .env file does not contain all the variables defined in .env.example, an exception is thrown:

PHP Fatal error:  Uncaught Dotenv\Exception\ValidationException: One or more environment variables failed assertions: KEY is missing.

Not all the variables have to be defined in .env, they can be supplied externally. For example, the following would work:

KEY=xyz php index.php

Usage with popular frameworks

Laravel

Laravel doesn't make it easy to swap out its existing Dotenv instance from vlucas/phpdotenv, but you can validate the environment manually with DotenvSafe when the application boots.

Just add the following to your AppServiceProvider->register method (which you'll find in app/providers/AppServiceProvider.php):

  if (!$this->app->configurationIsCached()) {
      $dotenv = new DotenvSafe\DotenvSafe($this->app->environmentPath(), $this->app->environmentFile());
      $dotenv->check();
  }

Lumen

bootstrap/app.php runs when your application starts, and loads the environment using Dotenv\Dotenv. You can easily swap this out to use DotenvSafe\DotenvSafe. All you need to do is replace:

(new Dotenv\Dotenv(__DIR__.'/../'))->load();

with:

(new DotenvSafe\DotenvSafe(__DIR__.'/../'))->load();

统计信息

  • 总下载量: 80.41k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 0
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause-Attribution
  • 更新时间: 2017-07-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固