robtrehy/laravel-application-settings

一个用于 Laravel 存储项目应用设置的包。

3.0.0 2024-03-18 13:32 UTC

This package is auto-updated.

Last update: 2024-09-19 15:04:09 UTC


README

这是一个 Laravel 包,可以用于存储和访问应用设置。设置存储在一个单独的数据库表中。默认配置将它们存储在 settings 表中。

安装

  1. 运行 composer require robtrehy/laravel-application-settings 将其包含到您的项目中。
  2. 使用以下命令发布配置文件
    php artisan vendor:publish --provider="RobTrehy\LaravelApplicationSettings\ApplicationSettingsServiceProvider" --tag="config"
    
  3. 根据您的需求修改已发布的配置文件。文件位于 config/application-settings.php
  4. settings 表添加到数据库中。包含迁移文件,只需运行以下命令
    php artisan vendor:publish --provider="RobTrehy\LaravelApplicationSettings\ApplicationSettingsServiceProvider" --tag="migrations" && php artisan migrate
    
    这将把在您的配置文件中定义的表添加到您的数据库中。

配置

打开 config/application-settings.php 以调整包的配置。

如果此文件不存在,运行 php artisan vendor:public --provider="RobTrehy\LaravelApplicationSettings\ApplicationSettingsServiceProvider" --tag="config" 以创建默认配置文件。

tablekeyvalue 设置为符合您的需求。

Laravel 应用设置使用 Laravel 缓存驱动程序以减少对数据库的查询次数。默认情况下,Laravel 使用 file 驱动程序进行缓存。如果您想禁用此功能,可以使用 null 驱动程序。Laravel 应用设置提供的缓存键可以通过更改 cache.key 配置值来设置。

示例配置

    'database' => [
        'table' => 'settings',
        'key' => 'key',
        'value' => 'value'
    ],
    'cache' => [
        'key' => 'application.settings'
    ]

用法

设置设置

使用此方法设置应用的设置

ApplicationSettings::set(string [setting], [value]);

设置将立即保存到数据库中

获取设置

使用此方法获取应用的设置的值。如果设置未设置,传递第二个参数以返回默认值,默认为 null

ApplicationSettings::get(string [setting], string [default] = null);

获取多个设置

使用此方法获取应用的多个设置的值。如果设置未设置,传递第二个参数以返回默认值,默认为 null

ApplicationSettings::get(array [setting], array [default] = null);

获取所有设置

使用此方法获取所有应用的设置作为数组

ApplicationSettings::all()

检查应用设置是否已设置

要检查应用是否设置了特定设置,您可以调用

ApplicationSettings::has(string [setting]);

如果找到了值,将返回 true,如果没有,将返回 false

保存设置

当调用 ApplicationSettings::set(); 时,所有设置都会自动保存。

删除设置

要删除设置,您可以调用

ApplicationSettings::delete(string [setting]);

此调用将无返回值。

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全漏洞

请参阅我们如何报告安全漏洞的 安全策略

许可证

此 Laravel 包是免费软件,根据 MIT 许可证条款分发。请参阅 LICENSE