grhone/laravel-settings

一个为您的模型添加设置的 Laravel 扩展包。

v1.0.0 2024-05-18 00:18 UTC

This package is auto-updated.

Last update: 2024-09-18 02:01:13 UTC


README

一个用于管理任何 Eloquent 模型设置的 Laravel 扩展包。此扩展包允许您使用 HasSettings 特性将设置附加到任何模型,检索具有默认值的设置,以及删除设置。

安装

  1. 使用 Composer 安装此包

    composer require grhone/laravel-settings
  2. 如果使用的是 Laravel 版本低于 5.5,请将服务提供者添加到 config/app.php

    'providers' => [
        // Other service providers...
        Grhone\LaravelSettings\SettingsServiceProvider::class,
    ],
  3. 发布迁移文件

    php artisan vendor:publish --provider="Grhone\LaravelSettings\SettingsServiceProvider" --tag="migrations"
  4. 运行迁移

    php artisan migrate

使用方法

使用 HasSettings 特性

要使用设置与您的 Eloquent 模型一起使用,只需将 HasSettings 特性添加到您的模型中

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Grhone\LaravelSettings\Traits\HasSettings;

class Event extends Model
{
    use HasSettings;

    public function getWebsiteBannerFilename()
    {
        // Get the setting with a default value
        return $this->getSetting('websiteBannerFilename', 'default_banner.jpg');
    }
}

可用方法

getSetting($key, $default = null)

检索给定键的设置值。如果设置不存在,则返回默认值。

$banner = $event->getSetting('websiteBannerFilename'); // without default value
$banner = $event->getSetting('websiteBannerFilename', 'default_banner.jpg'); // with default value

setSetting($key, $value)

为给定键设置设置值。

$event->setSetting('websiteBannerFilename', 'banner123.jpg');

deleteSetting($key)

删除给定键的设置。

$event->deleteSetting('websiteBannerFilename');

贡献

感谢您考虑为 Laravel Settings 扩展包做出贡献!您可以通过多种方式做出贡献,包括

  • 报告一个错误
  • 讨论代码的当前状态
  • 提交一个修复
  • 提出新功能

许可

Laravel Settings 扩展包是开源软件,受 MIT 许可证的许可。