講到插件,不得不講鉤子。首先,我們之前說明了插件是一個擴展的功能實現。
既然是擴展的,那么就要很靈活、可復用,并不是像我們之前開發項目,一個功能實現了,就寫死在代碼里了。
項目其他地方要用了,怎么辦,復制一份改個名,改的那個地方能調用實現。這樣一次兩次可以,次數多了就不行了。
因為后面每次開發的底層架構在不斷變化。不斷重復的功能版本造成人力的浪費。我們做成插件的目的就是為了方便大家擴展我們這個產品的功能。到時候形成規模,大家自由的搭建自己的站點就方便了。
那么如何讓一個擴展的功能在多個地方可隨意的使用呢。那就用到了我們的鉤子。
為什么叫它鉤子呢?因為它的作用就是如此和生活中的鉤子類似。
打個比方,我們做的網站比作一個有多個功能的立式衣架。
這個衣架給什么人用就有不同的用途。
假如你專門用來掛大衣的,那就是大衣衣架。如果你專門掛袋子,那就是一個儲物衣架。
當你不想要某個掛件、衣服時,取下來即可。并不會破壞原有的袋子或者衣服的功能。
你掛與不掛,鉤子就在那里。
為什么能掛那么多東西呢?說明被掛的東西都符合一個標準:能掛的住。
換作你掛一個橡皮泥、或者棉花之類的。掛不了多久就會掉了。因為他們不符合要有部分封閉的可固定的這一個部分的標準。
還有掛一個太重的比如10個背包掛一個鉤子上。要么架子毀了,要么鉤子斷了。總之就是掛不住。
因為任何一個鉤子都有其承重上限。你加起來的超過了,肯定不行。
所以我們不能把插件當成萬能的使,什么東西都整成插件,不管功能的大小。
任何系統都有瓶頸,你不能把個重量級的東西做成插件后掛上,說不定以后就會影響整個站點。就違背了插件的獨立性原則。那些就不應該做成插件而是做成模型擴展或者應用擴展。
- 準備
- 概覽
- 獲取
- 安裝
- 后臺管理
- 首頁
- 內容
- 系統
- 網站設置
- 配置管理
- 菜單管理
- 分類管理
- 模型管理
- 導航管理
- 數據備份
- 擴展
- 用戶
- 用戶信息
- 用戶行為
- 行為日志
- 權限管理
- 應用
- 架構設置
- 應用架構及目錄結構
- 獨立模型
- 插件設計
- 用戶行為設計
- 權限設計
- 文檔模型設計
- 分類設計
- 二次開發
- 命名規范與編碼規范
- 數據字典
- 公共函數和庫函數使用規范
- 模板開發指南
- 權限管理指南
- 插件開發指南
- 什么是插件?
- 什么是鉤子?
- 插件的開發流程
- 插件后臺的開發
- 插件開發注意事項
- 模型擴展開發指南
- 獨立模型擴展
- 文檔模型擴展
- 附錄
- 配置參考
- 函數庫參考
- Common函數庫
- admin函數庫
- Home函數庫
- 類庫參考