pion/laravel-environment-config 问题修复 & 功能扩展

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

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

pion/laravel-environment-config

Composer 安装命令:

composer require pion/laravel-environment-config

包简介

App service for loading the config based on environment. Also provides

README 文档

README

Used to load app config, and register the alias and providers, based on environment or custom config by custom usage. In default looks only for local config app_local.php. You can enable loading of config based on the current environment (checks if config exists then loads it). More in AppServiceProvider and AppEnvironmentTrait docs.

You can also load any config file you want at any time you need. Just use a AppServiceConfigLoaderTrait and call:

// class that uses the trait
// load the admin.php file into our app
$this->registerFromConfig("admin", $this->app);

Instalation

composer require pion/laravel-environment-config

Config structure

The structure of the config is same like basic app config and should be named with app prefix and the name of the environment: app_{environment} The loader supports alias and providers keys.

Name examples

  • app_local.php
  • app_production.php

Example of local with dev tools (require-dev in composer)

<?php
return [
    "providers" => [
        Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
        Barryvdh\Debugbar\ServiceProvider::class
    ],
    "aliases" => [
        'Debugbar' => Barryvdh\Debugbar\Facade::class
    ]
];

AppSeviceProvider

The default implementation that looks for local config only. Uses the AppEnvironmentTrait

Enable environment config load

Extend the register (and set before parent call) or construct method and set $checkOnlyLocalEnvironment property to false.

public function __construct(\Illuminate\Contracts\Foundation\Application $app) {
    parent::__construct($app);
    
    $this->checkOnlyLocalEnvironment = false;
}

Example

It's important that you dont implement register

use Pion\Laravel\EnvironmentConfig\AppServiceProvider as BaseAppServiceProvider;

class AppServiceProvider extends BaseAppServiceProvider {

}

AppEnvironmentTrait

Enables on demand loading of the config with provided the app instance and the name of the config name (without the prefix!). Uses the context of the app ($this->app) in the AppServiceProvider. All methods are protected.

loadAndRegister($checkOnlyLocal = true)

Tries to load the local config or if you pass false as first parametr it will try to load the config based on the current environment.

registerFromEnvironment($environment)

Registers the desired config (pass only name).

AppServiceConfigLoaderTrait

Enables loading custom config files and registers the aliases and providers by providing the config name and the app context. All methods are protected.

registerFromConfig($configName, $app)

Registers the aliases and providers.

registerProviders(array $providers, $app)

Registers the providers array into the app.

registerAliases(array $aliases, $app)

Registers the aliases array into the app.

pion/laravel-environment-config 适用场景与选型建议

pion/laravel-environment-config 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 52 次下载、GitHub Stars 达 2, 最近一次更新时间为 2016 年 05 月 19 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 pion/laravel-environment-config 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 pion/laravel-environment-config 我们能提供哪些服务?
定制开发 / 二次开发

基于 pion/laravel-environment-config 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-05-19