每個模塊下面都會自動生成一個模塊信息文件(info.php)。
>[warning] 模塊信息文件(info.php)與模塊配置文件(config.php)不一樣哦!
模塊信息配置文件(info.php)返回的是一個數據,數據結構如下:
| 參數名 | 含義 | 數據類型 | 必填項 |
| --- | --- | --- | --- |
| name | 模塊名 | string | 是 |
| title | 模塊標題 | string | 是 |
| identifier | 模塊唯一標識 | string | 是 |
| theme | 默認主題名 | string | 是 |
| icon | 模塊圖標 | string | 是 |
| intro | 模塊簡介 | string | 否 |
| author | 模塊作者 | string | 否 |
| author_url | 作者URL | string | 否 |
| version | 模塊版本號 | string | 是 |
| module_depend | 模塊依賴 | array | 否 |
| plugin_depend | 插件依賴 | array | 否 |
| tables | 模塊數據表列表 | array | 否 |
| db_prefix | 表前綴 | string | 否 |
| hooks | 模塊預埋鉤子 | array | 否 |
| config | 模塊配置 | array | 否 |
模塊參數詳解如下:
## [name] 模塊名
可使用字母(小寫)、數字、下劃線組成,建議盡量不要使用數字和下劃線。
例:mall
## [title] 模塊標題
該標題會在后臺管理的頂部導航顯示。
例:商城模塊
## [identifier] 模塊唯一標識
區分不同開發者不同模塊的唯一標識,格式:模塊名.開發者標識(只能為字母、數字、下劃線).module,如果您的模塊有上云的話,模塊標識由云端自動生成。后續會詳細說明。
例:mall.hisiphp.module
## [theme] 默認主題名
模塊的默認主題名為``default``,每個模塊可制作多個主題,后臺支持主題切換。主題名稱可使用字母(小寫)、數字、下劃線組成。
## [icon] 模塊圖標
模塊圖標,主要用于后臺模塊管理展示,圖標尺寸要求200px * 200px,格式為PNG
## [intro] 模塊簡介
對模塊進行簡單的描述,以便使用者能快速的了解該模塊的功能信息。
## [author] 模塊作者
指模塊開發者的名稱(姓名或昵稱均可)
## [author_url] 作者URL
開發者的網站地址,必須是完整的網站鏈接地址。
例:http://www.hisiphp.com
## [version] 模塊版本號
>[info] 格式 1.0.0
模塊版本號一定要按照要求填寫,模塊升級的時候,將以此版本號做為對比。
版本號格式采用三段式:主版本號.次版本號.修訂版本號。例:1.0.0
主版本號【位數變化:1-99】:當模塊出現大更新或者很大的改動,比如整體架構發生變化。此版本號會變化。
次版本號【位數變化:0-999】:當模塊功能有新增或刪除,此版本號會變化,如果僅僅是補充原有功能時,此版本號不變化。
修訂版本號【位數變化:0-999】:一般是 Bug 修復或是一些小的變動,功能上沒有大的變化,修復一個嚴重的bug即發布一個修訂版。
## [module_depend] 模塊依賴
有些模塊需要依賴于某個或多個模塊,此時就必須要填寫所依賴的模塊信息。
>[info] 格式:[[模塊名, 模塊標識, 依賴版本, 對比方式]]
>說明:模塊名、模塊標識、依賴版本為必填,對比方式為選填,默認為“=”。
對比方式支持的比較操作符如下:
| 操作符 | 含義 |
| --- | --- |
| <、 lt | 小于 |
| <=、 le | 小于等于 |
| >、 gt | 大于 |
| >=、 ge | 大于等于 |
| ==、 =、eq | 等于 |
| !=、<>、 ne | 不等于 |
>[danger] 注意:比較操作符只支持小寫
參考示例:
~~~php
// 模塊依賴[可選],格式[[模塊名, 模塊唯一標識, 依賴版本, 對比方式]]
'module_depend' => [
['user', 'user.hisiphp.module', '1.0.0', '='],
......
],
~~~
表示當前模塊依賴于user模塊,該模塊的唯一標識符是user.hisiphp.module,依賴的版本號是1.0.0,版本號對比方式為 等于(=),即等于1.0.0。版本號對比方式為選填,默認為等于(=)。
## [plugin_depend] 插件依賴
如果你的模塊需要依賴于某個或多個插件,此時就必須要填寫所依賴的插件信息。
參考示例:
~~~php
// 插件依賴[可選],格式[[插件名, 插件唯一標識, 依賴版本, 對比方式]]
'plugin_depend' => [
['login', 'login.hisiphp.plugins', '1.0.0', '='],
......
],
~~~
插件依賴和模塊依賴用法類似,請直接參考上面模塊依賴的詳細說明。
## [tables] 模塊數據表
如果你的模塊有用到數據表,則需要在此列出所有的數據表名已方便安裝和卸載。
>[danger]模塊的數據表命名為了避免與其他模塊表名沖突,請參照此格式命名:“表前綴_模塊名_控制器名“。
例如:mall模塊下面有兩張表,hisiphp_mall_goods,hisiphp_mall_products,"hisiphp_"為表前綴,無需填寫,具體填寫方式如下:
~~~php
// 模塊數據表[有數據庫表時必填,不包含表前綴]
'tables' => [
'mall_goods',//商品表
'mall_products',// 貨品表
],
~~~
## [db_prefix] 表前綴
例如:數據表名”hisiphp_mall_goods“,我們將他拆解為3段來理解:”hisiphp_“為表前綴,”mall“為模塊名,”goods“為控制器名。拆解后的”hisiphp_“就是我們要得到表前綴。
填寫了表前綴后,系統在安裝當前模塊時,會自動將此表前綴替換成當前系統所設置的表前綴。
## [hooks] 模塊預埋鉤子
如果你的模塊為了滿足各型各色的客戶需求,在不同的地方預埋了一些鉤子(``非系統鉤子``)以方便用戶擴展,一定要將預埋的鉤子填寫到此配置里面,模塊在安裝的時候,會自動將這些鉤子內置到系統的鉤子管理列表中。
參考示例如下:
~~~php
// 模塊預埋鉤子[非系統鉤子]
'hooks' => [
// '鉤子名稱(支持字母、數字、下劃線)' => '鉤子描述',
......
],
~~~
## [config] 模塊配置
針對當前模塊需要一些自定義配置的話,則需要填寫此參數。
>[info]格式:['sort' => '排序','title' => '標題','name' => '名稱','type' => '類型','options' => '選項','value' => '默認值', 'tips' => '提示']
各參數設置實例可參考:管理后臺->系統->系統功能->配置管理->添加
| 參數 | 含義 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- | --- |
| sort | 排序 | int | 是 | 無 |
| title | 標題 | string | 是 | 2-12個字符 |
| name | 字段名稱 | string | 是 | 可由字母、數字、下劃線組成 |
| type | 表單類型 | string | 是 | 下文單獨介紹 |
| options | 表單選項 | string | 否 | 下文單獨介紹 |
| value | 默認值 | string/int | 否 | 下文單獨介紹 |
| tips | 提示 | string | 否 | 關于此配置的提示信息或使用說明,支持HTML標簽 |
>[info]參數名:type,此參數可選值如下:
input,textarea,array,switch,radio,checkbox
select,hidden,image,file,date,datetime,time
>[info]參數名:options,此參數僅適用于表單類型[type]為單選按鈕(radio)、多選按鈕(checkbox)、下拉框(select)、開關(switch),具體使用方式如下:
~~~
[radio]單選按鈕參考格式:
0:男票
1:女票
~~~
~~~
[checkbox]多選按鈕參考格式:
1:唱歌
2:跳舞
3:旅游
4:文學
~~~
~~~
[select]下拉框參考格式:
1:北京
2:上海
3:廣州
4:深圳
~~~
~~~
[switch]開關參考格式:
0:關閉
1:開啟
~~~
>[info]參數名:value,表單默認值。
配置類型為單選按鈕(radio)、多選按鈕(checkbox)、下拉框(select)、開關(switch)時請按如下格式填寫,其他類型直接填寫字符串即可。
鍵值:鍵名
模塊配置示例代碼如下:
~~~
'config' => [
[
'sort' => '100',
'title' => 'AppID',
'name' => 'app_id',
'type' => 'input',
'options' => '',
'value' => '',
'tips' => '開放平臺APP ID',
], [
'sort' => '101',
'title' => 'AppSecret',
'name' => 'app_secret',
'type' => 'input',
'options' => '',
'value' => '',
'tips' => '開放平臺APP Secret',
],
],
~~~
配置后的效果如下:

模塊配置參數已加好,那么如何調用模塊配置呢?
模塊調用方法與ThinkPHP的配置調用方式一樣,同樣使用config函數調用。
>[info] 格式:config('module_模塊名.配置名[name]')
示例:config('module_test.app_id')