e-artspace/pimple-env-provider 问题修复 & 功能扩展

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

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

e-artspace/pimple-env-provider

Composer 安装命令:

composer require e-artspace/pimple-env-provider

包简介

A super simple, uSilex compatible, lightweight service provider to override Pimple container parameters with the value of environment variables.

README 文档

README

Build Status Code Coverage Scrutinizer Code Quality

pimple-env-provider is a super simple, Silex compatible, lightweight service provider to allow overriding of Pimple container parameters with the value of environment variables.

Install

> composer require e-artspace/pimple-env-provider

#Usage

The container's parameters allowed to be overridden must be declared in env.prefix array. Foreach parameter a cast service name must be supplied (custom or predefined).

Call 'env.overload' before using the container.

putenv('DEBUG_APP=false');

$container = new \Pimple\Container([
	'debug.app'=> true
]);

$container->register(new \EnvProvider\EnvProvider([
	'env.vars'=>[
		'debug.app'=>'env.cast.boolean'
	]
]);

assert($container['debug.app'] === true);

$container['env.overload']; // this do the magic

assert($container['debug.app'] === false);

Predefined services:

  • env.cast.strval: cast to a string
  • env.cast.intval: cast to a integer
  • env.cast.json_decode: to an array from a json string
  • env.cast.boolean: cast to boolean 'true','TRUE' oe '1' => true otherwhise false
  • env.name.builder: function to generate environment variable name, by default: environment var name = strtoupper((str_replace('.', '_', container var name)));
  • env.prefix: a prefix for generated environment variable name (default is empty)

Create a new cast service:

$container['env.cast.onoff'] = $app->protect(function($str) {
	return (0===strcasecmp('on',$str));
};

Customize env.name.builder service

$container['env.name.builder'] = app->protect(function($name) {
	return strtolower((str_replace('.', '-', $name)));;
})

Developing and Testing with docker

$ docker run --rm -ti -v $PWD/.:/app composer install
$ docker run --rm -ti -v $PWD/.:/app composer vendor/bin/phpunit

License

(c) Enrico Fagnoni MIT License (see file)

统计信息

  • 总下载量: 113
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-10-20

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固