首先,由於這是我第一次在這裏發佈問題,我需要更多的時間來適應這個問題,因此對本文引起的任何方便感到抱歉。CodeIgniter和HMVC問題
Q1。我想創建2 「主控制器」 爲前端和後端這樣的:
- MY_Controller延伸是CI_Controller
- 前端延伸MY_Controller和所有前端控制器將延長FrontEnd。
- 後端延伸MY_Controller和所有後端控制器將延伸後端。
用HMVC(MX)做這件事的最好方法是什麼?
感謝@韋斯利默奇給出的想法把MY_Controller,前端,後端到MY_Controller.php 3個類的想法,但我認爲把每個類放在一個PHP文件更好(更清潔)。或者我錯了?我想創造這樣的結構:
- ./core/MY_Controller.php(擴展MX_Controller)
- ./libraries/Backend.php(擴展MY_Controller)
- ./libraries/Frontend。 PHP(延伸MY_Controller)
- 自動負載後端和前端在autoload.php
- 所有前端控制器將延伸前端(如:
class Blog extends Frontend
) - 所有後端控制器將延伸後端(如:
class Admin extends Backend
)
將在不把的一行代碼在後端/前端控制器include_once該工作或require_once:./libraries/Backend.php或./libraries/Backend.php?
Q2。如何用HMVC實現多個主題? 例如,在MVC中,我們可以有2個主題strutured這樣的:
- ./application/views/ THEME1 /view_files.php
- 。/應用/視圖/ THEME2 /view_files.php
但在HMVC,視圖文件夾內的文件夾分開,如果我想要實現多個主題,通常我必須這樣做:
- ./application/modules/ 模塊1 /視圖/ THEME1 /view_files.php
- ./application/modules/ 模塊1 /視圖/ 主題2 /view_files.php
- ./application/modules/ 模塊2 /視圖/ THEME1 /view_files.php
- ./application/modules/ 模塊2 /視圖/ THEME2 /view_files.php
這不是我想要的,因爲我想提出一個主題的所有視圖文件放到一個文件夾以後,如果我想創建一個新的主題,我將只需要複製一個主題文件夾。但是我想知道如何在不破壞HMVC模型的情況下做到這一點(因爲據我所知,在HMVC模型中,模型,視圖,控制器必須位於一個模塊文件夾中 - 至少在CI中)。這是我陷入困境的衝突。
感謝韋斯利,我沒有嘗試,但應該工作。 –
我想創建2個庫從MY_Controller.php擴展並自動加載它們。這會工作嗎? 關於主題,我想有多個主題的看法,如: - ** /視圖/ THEME1/view_files.php ** - ** /視圖/ THEME2/view_files.php ** 關於JS/CSS /圖像,我可以安排自己。 一開始我會修復主題,但後來我可能會允許用戶選擇。使用MVC,我可以將主題放在**/views/**的子文件夾中,但是使用HMVC,我必須找到另一種方式將它們安排到主題中,因爲視圖文件夾是分開的(我希望所有查看相同主題的文件都將只有一個文件夾).. –
對不起,我忘了提及在1個文件中創建2個類,我想創建2個庫Backend和Frontend從MY_Controller擴展並在配置文件中自動加載後端和前端。然後在控制器中,我將擴展爲:'class Blog extends Frontend' –