phu1237/laravel-settings

Laravel Settings

v1.1.5 2023-02-11 17:09 UTC

This package is auto-updated.

Last update: 2024-09-11 21:12:51 UTC


README

Banner Version License

Laravel的全局设置。可以在控制器、Blade模板等中使用。

内容表

安装

  • 使用Composer安装此包
composer require phu1237/laravel-settings

Laravel自动发现

Laravel使用包自动发现,因此不需要您手动添加ServiceProvider。

Laravel不使用自动发现

如果您不使用自动发现,请将ServiceProvider添加到config/app.php中的providers数组中

Phu1237\LaravelSettings\ServiceProvider::class,

如果您想使用外观,请将其添加到app.php中的外观中

'Setting' => Phu1237\LaravelSettings\Facades\Setting::class,

或者使用此包的外观

use Phu1237\LaravelSettings\Facades\Setting;
  • 然后运行迁移以创建设置表
php artisan migrate
OR
php artisan migrate --path=vendor/phu1237/laravel-settings/database/migrations
  • 完成。您现在可以使用所有功能了。

使用

示例设置行: Screenshot

您可以使用外观辅助函数来获取或设置设置。

外观

// Get
Setting::all(); // Get all settings items
Setting::get('key'); // Get settings item
Setting::value('key'); // Get settings item value
Setting::value('key', 'default'); // Get settings item value with default
Setting::meta('key'); // Get meta
Setting::meta('key', 'attribute'); // Get meta attribute
Setting::meta('key', 'attribute', 'default'); // Get meta attribute with default
// Set
Setting::set('key', 'value');
Setting::set(['key' => 'value']);
Setting::value('key', 'value');
Setting::value(['key' => 'value']);
Setting::meta('key', 'attribute', 'value');
Setting::meta('key', ['attribute' => 'value']);
// Other
Setting::has('key');
Setting::forget('key');
Setting::forget(['key1', 'key2']);

辅助函数

从设置中获取字段

// Get settings manager
settings('key');
settings()->get('key');
// Get value of setting
settings()->value('key');
settings()->value('key', 'default value');
// Get meta(s) from setting
settings()->meta('key');
settings()->meta('key', 'attribute');
settings()->meta('key', 'attribute', 'default value');

将字段值设置为设置

// Set value for single key
settings()->set('key', 'value');
// Set value for single or multiple key(s)
settings([
    'key1' => 'value1',
    'key2' => 'value2'
]);
settings()->value([
    'key1' => 'value1',
    'key2' => 'value2'
]);
settings()->set([
    'key1' => 'value1',
    'key2' => 'value2'
]);
// Set meta for single or multiple attribute(s)
settings()->meta('key', [
    'attribute1' => 'value1',
    'attribute2' => 'value2'
]);

其他

// Get all settings
settings()->all();
// Check if setting exists or not
settings()->has('key');
// Update or create with key(string), value(string), meta(array)
settings()->store('key', 'value', 'meta');
// Forget (Destroy) setting
settings()->forget('key');
settings()->forget(['key1', 'key2']);
settings()->flush();

Blade指令

获取设置值

@setting('key', 'default value')
@setting_meta('key', 'meta', 'default value')

Blade组件

<x-setting-input key="key" default="default" class="your-class" style="your-styles" />

命令

发布所有包文件

php artisan settings:publish

使用发布命令将包配置复制到您的本地配置中

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

使用发布命令将包测试复制到您的本地测试中

php artisan vendor:publish --provider="Phu1237\LaravelSettings\ServiceProvider" --tag=tests

许可证

Laravel Settings是开源软件,许可协议为MIT许可