基於laravel-admin的資料庫配置管理工具,僅通過配置檔案就可生成整個表單,支援使用tab頁對配置項進行分組。
安裝:
步驟一:使用composer:
composer require fourn/admin-config
如果你已經依賴並配置好了官方提供的 config 可以跳過下面的步驟
步驟二:全域性引入後臺配置項:
use Encore\Admin\Config\Config;
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
if (\Schema::hasTable('admin_config') && class_exists(Config::class)) {
Config::load();
}
}
}
步驟三:執行資料庫遷移:
php artisan migrate
使用方法:
第一步:釋出配置檔案:
artisan vendor:publish --tag=admin-config
第二步:在配置檔案中加入配置組及配置項,詳細參考下面的"配置檔案語法"
第三步:使用laravel中的config函式
// 獲取一組
config('sample')
// 獲取一項
config('sample.value')
其他:
你可以生成後臺選單:
php artisan admin:import admin-config
或者直接訪問:
http://your-host/admin/admin-config
擴充套件配置:
'extensions' => [
'admin-config' => [
'title'=>'AdminConfig',
'description'=>'Manage your profiles as profiles',
'action'=>' ',
],
],
配置檔案語法:
配置檔案釋出後路徑為:config/admin-config.php
定義配置組:
'admin_config_groups' => [
// 配置組值 => tab選項卡顯示文字
'sample' => 'sample-name',
// 省略寫法,等同於 'sample2' => 'sample2'
'sample2'
],
定義配置項:
// 配置組名作為鍵,可以使用config('sample')訪問一組值
'sample' => [
// 預設情況寫法,以下等同於 'value' => ['label'=>'value', 'type'=>'test']
// 可以使用config('sample.value')訪問其值
'value',
// 支援配置鏈式呼叫,以下將執行$form->text('value1')->help('help content')->default('default value')
'value1'=>['help'=>'help content', 'default'=>'default value'],
// 支援幾乎所有Encore\Admin\Form\Field物件的鏈式呼叫方法,非鏈式呼叫的值將在Field例項化時作為引數傳入
// 以下將執行$form->test('value2', 'label text')->placeholder('typing...')->rules('required')
'value2'=>['label text', 'placeholder'=>'typing...', 'rules'=>'required'],
// 需要定義欄位型別,type鍵值不可省略
'value3'=>['type'=>'select', 'select label text', 'options'=>['option1'=>'option1', 'option2'=>'option2']],
'value5'=>['type'=>'checkbox', 'options'=>['foo'=>'foo', 'bar'=>'bar']],
'value6'=>['type'=>'ip'],
'value7'=>['type'=>'mobile'],
'value8'=>['type'=>'color'],
'value9'=>['type'=>'time', 'format'=>'HH:mm'],
// 範圍型別的欄位會分別儲存為兩個配置項,'sample.value10.start' 及 'sample.value10.end'
'value10'=>['type'=>'dateRange', 'dateRange label text'],
'value11'=>['type'=>'number', 'min'=>100, 'default'=>100],
'value12'=>['type'=>'rate'],
// 支援沒有引數的鏈式呼叫,以下將執行$form->image('value13')->uniqueName()
'value13'=>['type'=>'image', 'uniqueName'],
'value14'=>['type'=>'file', 'uniqueName'],
'value17'=>['type'=>'editor'],
'value18'=>['type'=>'switch'],
'value19'=>['type'=>'tags'],
// 以下一對多關係將被自動轉化為逗號隔開的資料存入資料庫
'value4'=>['type'=>'listbox', 'options'=>['foo'=>'foo', 'bar'=>'bar']],
'value15'=>['type'=>'multipleImage', 'removable', 'uniqueName'],
'value16'=>['type'=>'multipleFile', 'removable', 'uniqueName'],
],
// 對應配置組值
'sample2' => [
'value'
]
效果示例:
配置檔案自動轉化為表單:
資料庫: