ferri/laravel-settings

Laravel 5 数据库持久化设置包

v1.0.0 2016-09-10 17:56 UTC

This package is not auto-updated.

Last update: 2024-09-25 22:31:30 UTC


README

Build Status StyleCI Total Downloads License

Laravel 5 数据库持久化设置包

支持 Laravel 5.1, 5.2, 5.3

安装

composer require ferri/laravel-settings

将服务提供者添加到您的 config/app.php

...

Ferri\LaravelSettings\ServiceProvider::class,

...

发布配置和迁移

php artisan vendor:publish --provider="Ferri\LaravelSettings\ServiceProvider" --tag=config
php artisan vendor:publish --provider="Ferri\LaravelSettings\ServiceProvider" --tag=migrations

缓存

您可以在获取设置值时禁用缓存。默认值为 true。缓存从 config/cache.php 中激活的驱动程序继承。

'cache' => false,

用法

设置值

设置设置值

Settings::set('key', 'value');
Settings::set('keyArray', ['arrayKey' => 'arrayValue']);

获取值

获取设置值

Settings::get('key'); // value
Settings::get('keyArray'); // ['arrayKey' => 'arrayValue']
Settings::get('keyNotExists', 'default'); // default

检查值

确定设置是否存在。

Settings::has('key'); // true
Settings::has('keyNotExists'); // false

忘记值

如果启用,则从数据库和缓存中移除设置

Settings::forget('key');

刷新设置

如果启用,则从数据库(截断)和缓存中移除所有设置

Settings::truncate();

设置额外列

有时您想为每个设置指定一些标准。这些列将被添加到每个查询中。这些额外列在调用这些方法之一(setgethasforget)后总是重置。

Settings::setExtraColumns(['tenant_id' => 1])->set('site_title', 'Awesome Blog');
Settings::setExtraColumns(['tenant_id' => 1])->get('site_title'); // Awesome Blog
Settings::setExtraColumns(['tenant_id' => 2])->get('site_title'); // null

辅助函数

设置实例

解析设置服务实例。

settings();

设置值

设置设置值

settings([$key => $value]);

使用额外列设置设置值

settings([$key => $value], null, ['tenant_id' => 1])

获取值

获取设置值

settings('key'); // value

使用额外列获取设置值

settings($key, $default, ['tenant_id' => 1])

测试


composer install
vendor/bin/phpunit

灵感

此包受到了以下优秀包的启发