pion/laravel-environment-config

根据环境加载配置的应用服务。同时也提供

v1.0.1 2016-06-14 16:47 UTC

This package is auto-updated.

Last update: 2024-09-21 19:52:40 UTC


README

用于根据环境或自定义配置加载应用程序配置,并注册别名和提供者。默认情况下,只查找本地配置 app_local.php。您可以启用基于当前环境的配置加载(检查配置是否存在,然后加载)。更多信息请参阅 AppServiceProviderAppEnvironmentTrait 文档。

您还可以在任何需要的时候加载任何配置文件。只需使用 AppServiceConfigLoaderTrait 并调用

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

安装

composer require pion/laravel-environment-config

配置结构

配置的结构与基本应用程序配置相同,应使用应用程序前缀和环境的名称命名:app_{environment} 加载器支持 aliasproviders 键。

命名示例

  • app_local.php
  • app_production.php

本地环境与开发工具的示例(composer 中的 require-dev)

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

AppSeviceProvider

默认实现,仅查找本地配置。使用 AppEnvironmentTrait

启用环境配置加载

扩展注册(并在调用父类之前设置)或构造方法,并将 $checkOnlyLocalEnvironment 属性设置为 false。

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

示例

重要的是不要实现 register

use Pion\Laravel\EnvironmentConfig\AppServiceProvider as BaseAppServiceProvider;

class AppServiceProvider extends BaseAppServiceProvider {

}

AppEnvironmentTrait

通过提供应用程序实例和配置名称(不带前缀!)启用按需加载配置。在 AppServiceProvider 中使用应用程序上下文($this->app)。所有方法都是受保护的。

loadAndRegister($checkOnlyLocal = true)

尝试加载本地配置;如果您将第一个参数传递为 false,则尝试根据当前环境加载配置。

registerFromEnvironment($environment)

注册所需的配置(仅传递名称)。

AppServiceConfigLoaderTrait

通过提供配置名称和应用程序上下文启用加载自定义配置文件并注册别名和提供者。所有方法都是受保护的。

registerFromConfig($configName, $app)

注册别名和提供者。

registerProviders(array $providers, $app)

将提供者数组注册到应用程序中。

registerAliases(array $aliases, $app)

将别名数组注册到应用程序中。