alisaleem / laravel-settings
基于文件的 Laravel 应用配置设置
v1.2.2
2024-07-01 02:37 UTC
Requires
- php: ^8.2
- spatie/laravel-package-tools: ^1.14.0
- spatie/valuestore: ^1.3
Requires (Dev)
- orchestra/testbench: ^8.8
- pestphp/pest-plugin-laravel: ^2.0
README
将您的应用程序设置存储在任何应用程序的存储文件系统中。设置的架构由一个普通的 PHP 类定义,并支持所有原始类型。这还提供了读写设置时的 IDE 类型提示。
更新后的值在析构时写入文件系统。
安装
您可以通过 composer 安装此包
composer require alisaleem/laravel-settings
创建自己的 Settings 类,并从本包扩展抽象的 Settings 类
namespace App; class MySettings extends \AliSaleem\LaravelSettings\BaseSettings { public string $key; public string $anotherKey = 'Default Value'; }
可选地添加辅助函数。这将提供 IDE 类型提示
if (! function_exists('settings')) { function settings(): \App\MySettings { return resolve(config('settings.class')); } }
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="settings-config"
在配置文件中设置类和存储位置
return [ 'class' => \App\MySettings::class, 'storage' => [ 'disk' => null, 'path' => 'settings.json', ], ];
使用方法
// To retrieve a value $value = resolve(\App\MySettings::class)->key; $value = settings()->anotherKey; // To set a value resolve(\App\MySettings::class)->key = 'changed'; settings()->anotherKey = 'changed';
测试
composer test
贡献
有关详细信息,请参阅 CONTRIBUTING
安全漏洞
请审查我们的安全策略 如何报告安全漏洞
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件