alisaleem/laravel-settings

基于文件的 Laravel 应用配置设置

v1.2.2 2024-07-01 02:37 UTC

This package is auto-updated.

Last update: 2024-08-31 03:03:20 UTC


README

Latest Version on Packagist Total Downloads

将您的应用程序设置存储在任何应用程序的存储文件系统中。设置的架构由一个普通的 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)。有关更多信息,请参阅 许可证文件