vluzrmos/eloquent-settings

Eloquent 设置仓库

v1.0.0 2019-05-14 18:47 UTC

This package is auto-updated.

Last update: 2024-09-15 07:10:40 UTC


README

一个用于在数据库中存储应用程序设置的包。

安装

composer require vluzrmos/eloquent-settings

配置

首先,您需要发布配置和迁移

php artisan vendor:publish --provider=Vluzrmos\EloquentSettings\Providers\EloquentSettingsServiceProvider

其次,运行迁移

php artisan migrate

使用方法

您可以使用依赖注入或 setting 辅助函数

use \Vluzrmos\EloquentSettings\Setting;

class YourInjectableClass {
   
   protected $settings;
   
   public function __construct (Setting $settings) {
       $this->settings = $settings;   
   }
   
   public function theMethod() {
       $option = $this->settings->get('my.awesome.option', 'default-value');
   }
} 
    

使用 setting 辅助函数更简单

// Getter
$option = setting('my.awesome.option', 'default-value');
//or
$option = setting()->get('my.awesome.option', 'default-value');

// Setter
setting()->set('my.awesome.option', 'That is Awesome!');

setting()->save(); //remember, without this the settings will not be stored on database

设置 API

get(string key, mixed default=null) : mixed - 在数据库中获取设置,如果不存在则使用默认值。

set(string|array key, mixed value=null) : void - 设置一个或多个键值对到设置中。

forget(string key) : void - 清除设置中的一个值。

has(string key) : bool - 检查设置中是否存在给定键。

all() : array - 获取所有设置的数组。

except(string|array keys ...) : array - 获取与给定键不匹配的设置。

only(string|array keys ...) : array - 获取与给定键匹配的设置。

save() : void - 重要! 将设置存储在数据库中。

update(string|array keys, mixed value=null) : void - 设置并保存一个或多个设置。