letsgoi/laravel-settings

Laravel设置包

3.0.1 2024-08-29 13:45 UTC

This package is auto-updated.

Last update: 2024-08-29 13:56:44 UTC


README

使用laravel nova将环境变量移动到数据库以轻松更改

要求

  • PHP >= 8.3
  • Laravel >= 10.0
  • 项目上注册了Laravel nova许可证

安装

  • 使用composer要求包
composer require letsgoi/laravel-settings
  • Letsgoi\LaravelSettings\SettingsServiceProvider::class添加到app.php
    /*
     * Package Service Providers...
     */
    ...
    Letsgoi\LaravelSettings\SettingsServiceProvider::class,
  • 发布配置
php artisan vendor:publish --provider="Letsgoi\LaravelSettings\SettingsServiceProvider" --tag="migrations"
  • NovaServiceProvider.php上添加SettingNovaResource::class
    protected function resources(): void
    {
        Nova::resources([
            ...
            SettingNovaResource::class,
        ]);
    }

使用方法

此包使用缓存内存来保存变量,而不是每次使用时都从数据库检索它们

  1. 当你保存一个变量时,该变量的缓存将被清除。
  2. 第一次检索变量时,它将被保存到缓存中。

要在设置中注册一个新变量

  1. 使用变量的名称和键创建一个迁移
    1. 可用的类型有:bool,string,float,array
    DB::table('settings')->insert([
            'id' => 'APP_URL',
            'type' => 'string'
    ]);
  1. 运行迁移:php artisan migrate
  2. 访问您的nova URL并填写变量值:对于布尔值使用0(false)和1(true)。
  3. 在代码中使用变量
    $settingRepository = new SettingRepository();
    
    $value = $settingRepository->find('key');

测试

运行测试:composer test