robtrehy / laravel-application-settings
一个用于 Laravel 存储项目应用设置的包。
Requires
- php: ^8.1
- laravel/framework: ^9.2|^10.0|^11.0
- orchestra/testbench: ^7.0|^8.0|^9.0
Requires (Dev)
- nunomaduro/collision: ^6.4|^7.0|^8.0
- phpunit/phpunit: ^9.5|^10.5|^11.0
- squizlabs/php_codesniffer: ^3.6
README
这是一个 Laravel 包,可以用于存储和访问应用设置。设置存储在一个单独的数据库表中。默认配置将它们存储在 settings
表中。
安装
- 运行
composer require robtrehy/laravel-application-settings
将其包含到您的项目中。 - 使用以下命令发布配置文件
php artisan vendor:publish --provider="RobTrehy\LaravelApplicationSettings\ApplicationSettingsServiceProvider" --tag="config"
- 根据您的需求修改已发布的配置文件。文件位于
config/application-settings.php
。 - 将
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"
以创建默认配置文件。
将 table
、key
和 value
设置为符合您的需求。
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