在Yii2.x框架中,引入了模塊(Modules)這個概念,那么什么是模塊呢?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(推薦學習:yii框架)
模塊是獨立的軟件單元,由模型,視圖, 控制器和其他支持組件組成, 終端用戶可以訪問在應用主體中已安裝的模塊的控制器, 模塊被當成小應用主體來看待,和應用主體不同的是, 模塊不能單獨部署,必須屬于某個應用主體。
上面的描述是簡單理解就是你在現有的框架中又創建了一個子應用主體,但是這個子應用必須依賴于框架本身這個主應用主體,不能獨立部署。
看圖,表現的比較直接:
圖中紅框所示的module就是模塊所在的位置,其中存在一個admin模塊。(圖片的logo擋住了最下面的一個非常重要的文件,Admin.php)。
創建及配置模塊
模塊被組織成一個稱為 base path 的目錄, 在該目錄中有子目錄如 controllers,models,views 分別為對應控制器,模型,視圖和其他代碼,和應用非常類似。 以我上圖例子為例:
admin/ ????Admin.php???????????????????模塊類文件 ????config.php??????????????????模塊配置文件(自行手動創建) ????controllers/?????????????????包含控制器類文件 ????models/??????????????????????包含模型類文件 ????views/???????????????????????包含控制器視圖文件和布局文件
模塊類文件
每個模塊都有一個繼承 yiibaseModule 的模塊類, 該類文件直接放在模塊的 base path 目錄下, 并且能被 自動加載。當一個模塊被訪問, 和 應用主體實例 類似會創建該模塊類唯一實例,模塊實例用來幫模塊內代碼共享數據和組件。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END