系統字典模塊
擴展介紹
我們在很多系統中,往往需要維護很多字典項目,一般的字典項目包含有一個大類名稱、字典項目名稱、字典值、等字段,這些內容往往大同小異,
如在車輛管理中,我們可能需要維護:車輛類型、車輛品牌、車輛用途、路途類別、用車評價、車輛狀態等等信息,這些是很簡單的數據,
用來給業務功能使用的,是一個下拉列表形的數據,如果我們為每個這樣的簡單類型都創建一個表的話,那么有以下壞處:
1) 如果業務模塊很多,就會產生很多這樣的表,看起來不雅,維護也不方便,增加工作量。
2) 會產生很多頁面代碼(你需要維護界面內容展示和錄入),也是看起來不雅,不方便維護,增加工作量。
3) 代碼中調用處理也不好,記不住哪個是具體的字典信息了,太多。
以上總結一句話,就是做重復工作,就算有一鍵生成代碼的工具,也是不好的。
如果采用一個公用的字典管理模塊能夠解決以上問題,那么整個世界就清凈了,一句話,簡單。
本擴展能為你解決以上問題。
插件特點
1.適合企業級開發,規范多人合作開發,方便統一定義
2.通過使用緩存,提高運行效率
3.調用方便、簡單,容易使用
4.本擴展只依賴于 YII2,無其它第三方依賴,簡潔、干凈
5.本擴展支持多語言配置
6.本擴展已完成字典管理界面,開箱即用,無需再次開發。
項目地址:
https://github.com/ciniran/yii2-dic
安裝方法:
1.推薦通過使用composer.安裝此擴展,一切將自動完成
你可以通過運行以下代碼
php composer.phar require ciniran/yii2-dic "*"
手動安裝和配置方法:
1.下載模塊源碼并解壓縮到你期望的目錄,如:
vendor/ciniran/yii2-dic
2.在 config/main.php 添加如下配置
'modules' => [
'dic' => [
'class' => 'ciniran\dic\Module',
],
],
'aliases' => [
'@ciniran/dic' => '@vendor/ciniran/yii2-dic'
],
3.程序會自動檢測并創建一個 system_dic 的數據表。
4.本程序支持多語言配置,多語言配置文件位@vendor/ciniran/yii2-dic/message/ 目錄之下
使用方法:
1.在你的后臺訪問 http://yourdomain/dic,可以進行數據庫的字典配置
2.視圖文件中使用示例:
<?php echo GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
'id',
'value',
'name',
[
'attribute' => 'status',
'filter'=>$searchModel->getStatusType(),
'value' => function ($model) {
return \ciniran\dic\components\DicTools::getTextByKey('do_status', $model->status);
}
],
]
?>
具體可調用工具類如下:
1.強制刪除緩存,無返回值
DicTools::cleanSystemDic();
2.取得所有字典的數組,
$array = DicTools::getAllKeys(); //通過緩存取得
$array = DicTools::getAllKeys(true); //不通過緩存取得
3.通過設定的名稱取得字典數組
$array = DicTools::getKeyByName('base_status'); //通過緩存取得
$array = DicTools::getKeyByName('base_status',true);//不通過緩存取得
4.通過設定的字典值取得顯示值
$string = DicTools::getTextByKey('base_status','1');
5.通過顯示值取得字典值
$value = DicTools::getKeyByText('base_status','是');
如果本擴展有幫助到你,或者您覺得好用,請不要忘記為我點個star,非常感謝!




- Yii2使用Url組件
- Yii2的Html,Request組件詳解
- YII2.0框架, 多圖片上傳功能
- yii2-imagine配置
- 有潔癖的禁止默認YII自帶垃圾代碼(個人認為)、JS、CSS(新手教程)
- Yii2 API接口輸出統一Json和jsonp格式方法
- MySql 創建表的一些語句釋義
- Yii2聯合查詢(配合GridView)
- Yii 通用系統字典
- ArrayHelper的多維數組排序函數multisort,強大無比。
- 路由規則,在Url中替換使用'/'以外的符號連接
- 從excel文件中讀取表格內容,并批量寫入數據庫
- yii2注冊時驗證用戶名、郵箱等唯一性
- Yii2最全的實戰教程
- Composer安裝yii2-imagine 壓縮,剪切,旋轉,水印
- LinkPager增加總頁數 和總記錄數
- Yii2 獲取模塊名控制器名方法名
- Yii2使用yii2-adminlte+yii2-admin左側菜單子路徑不高亮問題又解
- 前端CSS框架
- Yii2 之 frontend 子模塊實踐之一:添加前后臺子模塊
- Yii2 之 frontend 子模塊實踐之二:構建子模塊的獨立配置
- Yii2 之 frontend 子模塊實踐之三:布局和語言配置
- 完美解決ajax驗證碼不刷新問題,讓驗證碼更加美觀,不修改任何源代碼
- yii2.0 表單小部件常用的默認選中
- Yii2 controller 傳值給layout
- yii2 dropDownList 二級和三級 聯動寫法
- 微信掃碼登錄 新窗口二維碼 掃完關閉二維碼頁面 進入登錄頁面
- yii2 實現 "上一篇,下一篇" 功能
- Yii 行為簡單應用
- SQL語句