macropage / laravel-json-settings
将您的Laravel应用程序设置存储在一个或多个JSON文件中。
v0.1.0
2022-02-14 20:53 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^1.0
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
README
这是https://github.com/ryangjchandler/laravel-json-settings的分支。
主要更改是:我为每个文件添加了保存的命名空间。
我还不确定这是否是一个好主意,所以让我们看看吧 ;)
此包提供了一个简单的SettingsRepository
类,可以用于将您的应用程序设置存储在单个JSON文件中。
安装
您可以通过composer安装此包
composer require macropage/laravel-json-settings
您可以使用以下命令发布配置文件:
php artisan vendor:publish --tag="json-settings-config"
使用
您可以通过在任何DI支持的函数中类型提示它,例如控制器方法,从容器中解析macropage\LaravelJsonSettings\SettingsRepository
的一个实例。
class IndexController { public function __invoke(SettingsRepository $settings) { return view('index', [ 'title' => $settings->get('index.title'), ]); } }
SettingsRepository
类包含以下方法:
get(string $key, mixed $default = null)
- 通过提供键(支持点符号)获取设置的值。set(string $key, mixed $value, bool $save = true)
- 设置设置的值并切换自动保存。has(string $key)
- 确定设置是否存在。save()
- 手动将设置保存回磁盘。reload()
- 清除缓存并从磁盘重新加载设置。
如果您更喜欢使用外观,您也可以直接与macropage\LaravelJsonSettings\Facades\Settings
外观交互。
测试
composer test
贡献
有关详细信息,请参阅CONTRIBUTING。
鸣谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。