qcod/laravel-settings

将键值对存储在数据库中作为设置

1.2.2 2024-05-15 01:31 UTC

README

Latest Version on Packagist Software License Build Status StyleCI Total Downloads

使用 qcod/laravel-settings 将键值对设置存储在数据库中。

所有保存在数据库中的设置都将被缓存,通过减少SQL查询来提高性能。

安装

1 - 您可以通过composer安装此包

$ composer require qcod/laravel-settings

2 - 如果您正在Laravel 5.4或更低版本上安装,您需要手动通过在 config/app.php 的 providers 数组和 aliases 数组中添加它来注册 Service Provider。

'providers' => [
    //...
    QCod\Settings\SettingsServiceProvider::class
]

'aliases' => [
    //...
    "Settings" => QCod\Settings\Facade::class
]

Laravel 5.5或更高版本中,服务提供者会自动注册,并可以使用 Setting::get('app_name') 这样的 facade。

3 - 现在运行迁移命令 php artisan migrate 来创建设置表。

可选地,您可以通过运行以下命令发布迁移:

php artisan vendor:publish --provider="QCod\Settings\SettingsServiceProvider" --tag="migrations"

入门指南

您可以使用辅助函数 settings('app_name')Settings::get('app_name') 来使用Laravel设置。

可用方法

// Pass `true` to ignore cached settings
settings()->all($fresh = false);

// Get a single setting
settings()->get($key, $default = null);

// Set a single setting
settings()->set($key, $value);

// Set a multiple settings
settings()->set([
   'app_name' => 'QCode',
   'app_email' => 'info@email.com',
   'app_type' => 'SaaS'
]);

// check for setting key
settings()->has($key);

// remove a setting
settings()->remove($key);

分组

v 1.0.6 版本开始,您可以将设置组织到组中。如果您省略了组名,设置将以 default 组名存储。

如果您正在从先前版本升级,请务必运行迁移。

您可以使用上面所有的方法,只需通过调用 ->group('group_name') 方法并链式调用来设置您的工作组。

settings()->group('team.1')->set('app_name', 'My Team App');
settings()->group('team.1')->get('app_name');
> My Team App

settings()->group('team.2')->set('app_name', 'My Team 2 App');
settings()->group('team.2')->get('app_name');
> My Team 2 App

// You can use facade
\Settings::group('team.1')->get('app_name')
> My Team App

更新日志

请参阅 更新日志 了解最近的变化信息。

测试

该包包含一些集成/冒烟测试,使用Orchestra设置,可以通过phpunit运行这些测试。

$ composer test

贡献

请参阅 贡献指南 了解详情。

安全性

如果您发现任何安全相关的问题,请通过电子邮件 saquibweb@gmail.com 联系,而不是使用问题跟踪器。

鸣谢

关于QCode.in

QCode.in (https://www.qcode.in) 是由 Saqueib 维护的博客,涵盖了关于全栈Web开发的所有内容。

许可

MIT许可(MIT)。请参阅 许可文件 了解更多信息。