vidwan/settings

基于数据库驱动的动态设置,带有表单构建器

v0.0.2 2022-06-15 17:31 UTC

This package is auto-updated.

Last update: 2024-09-14 19:09:37 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Psalm Total Downloads

一个用于使用简单表单构建器生成动态设置的包。

安装

您可以通过composer安装此包

composer require vidwan/settings

使用方法

表单构建器

文件:Vidwan\Settings\Settings

use Vidwan\Settings\Settings;
...
Settings::form(Setting::all())
        ->labelAttributes(['class' => 'form-label'])
        ->inputAttributesFor('text', [
            'class' => 'form-control',
        ])
        ->inputAttributesFor('innerBlock', [
            'checkbox' => [
                'class' => 'form-control',
            ],
        ])
        ->inputAttributesFor('checkbox', function ($settings) {
            return [
                'class' => 'form-check',
            ];
        })
        ->formAttributes(['id' => 'settings-form'])
        ->blockAttributes(['class' => 'mb-1'])
        ->uploadable()
        ->render();

单个标签 & 输入构建器

use Vidwan\Settings\Models\Setting;

$settings = Setting::all();

foreach ($settings as $setting)
{
    $setting->formLabel(attributes: ['class' => 'something']); // <label></label>
    $setting->formInput(attributes: ['class' => 'form-control']); // <input />
}

辅助工具

    settings('theme');

忽略迁移

忽略自动迁移(不发布)并指定发布迁移的路径。

use Vidwan\Settings\Settings;

...

class AppServiceProvider extends ServiceProvider
{
    ...

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        // Disable auto-migration
        Settings::$runsMigrations = false;
        // Sets Migration Path
        Settings::$migrationPath = database_path('migrations/tenant');
    }

    ...

}

测试

composer test

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全漏洞

请审查我们的安全策略了解如何报告安全漏洞。

支持我们

您可以通过为我们的开源项目做出贡献或赞助您使用的项目来支持我们。

鸣谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。