letsgoi / laravel-settings
Laravel设置包
3.0.1
2024-08-29 13:45 UTC
Requires
- php: ^8.3
- illuminate/database: ^10.0|^11.0
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- letsgoi/php-code-style: ^1.2
- orchestra/testbench: ^9.1
- phpunit/phpunit: ^11.2
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, ]); }
使用方法
此包使用缓存内存来保存变量,而不是每次使用时都从数据库检索它们
- 当你保存一个变量时,该变量的缓存将被清除。
- 第一次检索变量时,它将被保存到缓存中。
要在设置中注册一个新变量
- 使用变量的名称和键创建一个迁移
- 可用的类型有:bool,string,float,array
DB::table('settings')->insert([ 'id' => 'APP_URL', 'type' => 'string' ]);
- 运行迁移:
php artisan migrate
- 访问您的nova URL并填写变量值:对于布尔值使用0(false)和1(true)。
- 在代码中使用变量
$settingRepository = new SettingRepository(); $value = $settingRepository->find('key');
测试
运行测试:composer test