qcod / laravel-settings
将键值对存储在数据库中作为设置
Requires
- php: ^7.3|^8.0|^8.1|^8.2
- laravel/framework: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^0.9.4 || ~1.0
- orchestra/testbench: 4.*|5.*|6.*|^8.0|^9.0
- phpunit/phpunit: ^8.5|^9.5.10|^10.5
This package is auto-updated.
Last update: 2024-09-15 02:26:06 UTC
README
使用 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)。请参阅 许可文件 了解更多信息。