laradic / config
Laravel 5 配置扩展:保存到文件/数据库。使用命名空间等
2.0.0
2020-12-10 15:46 UTC
Requires
- php: >=7.1.0
- illuminate/config: ^5.0|^6.0|^7.0|^8.0
- laradic/support: ~2.0
- symfony/expression-language: ~3.0|~4.0
README
版本 1.3
功能
- 命名空间配置(类似于 Laravel 4:
Config::get('vendor/package::config.item')
) - 命名空间发布(类似于 Laravel 4:
config/packages/VENDOR/PACKAGE/config.php
) - 或者使用标准的 Laravel 5 方法:与 Laravel 5 默认配置兼容。添加此包不会使您的当前设置无效。
- 持久性配置。将更改保存到
镜像
文件
或数据库
。 Config::getLoader()->set('iam/awesome::my.config.key', 'A changed value')
将其保存到 镜像文件
或db
- 支持 PHP、YAML,不久还将支持 XML 配置文件。
概述 ^
安装 ^
Composer
"laradic/config": "1.3.*"
服务提供者
"Laradic\Config\ConfigServiceProvider"
引导器
在 app/Http/Kernel.php
和 app/Console/Kernel.php
中用 Laradic\Config\Bootstrap\LoadConfiguration
引导器替换默认的 Laravel Illuminate\Foundation\Bootstrap\LoadConfiguration
引导器。
use Illuminate\Foundation\Http\Kernel as HttpKernel; class Kernel extends HttpKernel { protected $bootstrappers = [ 'Illuminate\Foundation\Bootstrap\DetectEnvironment', 'Laradic\Config\Bootstrap\LoadConfiguration', 'Illuminate\Foundation\Bootstrap\ConfigureLogging', 'Illuminate\Foundation\Bootstrap\HandleExceptions', 'Illuminate\Foundation\Bootstrap\RegisterFacades', 'Illuminate\Foundation\Bootstrap\RegisterProviders', 'Illuminate\Foundation\Bootstrap\BootProviders', ]; }
基本用法 ^
在任何 ServiceProvider 中
class YourServiceProvider extends ServiceProvider { use ConfigProviderTrait; public function register() { $this->addConfigComponent('vendorname/packagename', 'vendorname/packagename', realpath(__DIR__.'/../resources/config')); } }
- 命名空间配置可以使用
Config::get('vendorname/packagename::config.item')
访问。 - 使用默认的 Laravel
vendor:publish
命令发布配置文件。
持久性配置 ^
您可以通过设置持久性配置项,默认情况下,值将保存到一个单独的镜像文件中,在引导时进行合并。也可以保存到数据库中。
您可以在配置文件中通过更改 [loader
] 值来更改保存方法。
return array( 'loader' => 'file', 'loaders' => array( 'file' => array( 'save_path' => storage_path('laradic_config') ), 'db' => array( 'table' => 'config' ) ), //.... other options );
重要:如果您计划使用 db
加载器,您必须运行包含的迁移,该迁移将创建所需的 config
数据库表。
您可以通过以下方式设置持久性配置值
Config::getLoader()->set('config.item', 'value');
待办事项 ^
- 支持 YAML/YML 文件。
- 数据库保存
- 支持 XML 文件。
- 单元测试
版权/许可 ^
版权 2015 Robin Radic - MIT 许可