c4uno/ config-database
从数据库获取并合并配置到Laravel/Lumen 5
1.0.2
2019-02-14 21:47 UTC
Requires
- php: >=7.1.3
- ext-json: *
- ext-pdo: *
- illuminate/support: *
Requires (Dev)
- barryvdh/laravel-ide-helper: ^2.5
- fzaninotto/faker: ~1.4
- mockery/mockery: ~1.0
- phpstan/phpstan: ^0.10.8
- phpunit/phpunit: ~7.0
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2024-09-26 07:17:47 UTC
README
它从数据库读取配置值并将它们与配置文件合并。因此,您可以在运行时进行更改。
安装
composer require c4uno/config-database
Laravel < 5.3
将服务提供者添加到 config/app.php
C4uno\ConfigDatabase\ConfigDatabaseServiceProvider::class,
发布迁移
artisan vendor:publish --provider="C4uno\ConfigDatabase\ConfigDatabaseServiceProvider" --tag="migrations"
发布配置
artisan vendor:publish --provider="C4uno\ConfigDatabase\ConfigDatabaseServiceProvider" --tag="config"
Lumen
在 bootstrap/app.php 中注册服务提供者
$app->register(C4uno\ConfigDatabase\ConfigDatabaseServiceProvide);
使用
默认情况下,该包使用 app 和 emails 文件中的配置。如果您想使用其他文件,请修改 config/config_database.php 中的 sections 键下的列表。
向 configs 表添加一行新数据,包含配置键、数据类型(请参阅 C4uno\ConfigDatabase\Models\Config 类以获取可用的数据类型列表)。例如,要更改 c4uno 配置文件中 subdomains.panel 的值,您必须插入以下行
INSERT INTO configs VALUE (1, 'c4uno.subdomains.panel','panel.local.4uno.org','string', CURRENT_DATE(), CURRENT_DATE())
实现
config()助手必须继续工作- 配置文件中的值必须是默认值。
- 具体说明哪些配置应该在数据库中。因为配置不应总是可用。
- 具体说明应保存设置的表名。
- 支持更多数据类型。数组以json格式保存,因此可以存储异构元素。
- 与 Laravel < 5.7 和 Laravel 5.1 兼容
待办事项
- 允许长值(超过255)。
- 注意性能。使用缓存。