2011-11-27 85 views
3

我想在PHP中創建我自己的簡單MVC框架。我認爲提高我的PHP技能是個好主意。MVC - 子文件夾控制器

我對管理部分有疑問,您是如何創建它的?

在Kohana中,控制器可以在子文件夾:

例如:/controller/admin/admin.php

有什麼其他辦法嗎?因爲長代碼可以共享給父助手/庫或父模型。

+0

您的問題非常廣泛。有上千種和另外一種方法,從你的問題來看,並不清楚實際的標準是什麼。 – hakre

+0

你的問題非常廣泛?這是你的意見。 –

+0

那麼,只是分享*你的*意見什麼是你的*問題的具體問題? – hakre

回答

1

我在這裏假設你想創建另一個MVC框架的原因確實是提高你的PHP的技能,而不是試圖建立一個框架,在你的公司在日常工作中使用,例如。我知道你並沒有要求這樣的建議,但是有很多很棒的MVC框架(你可能已經知道其中很多)。不過,我認爲這是學習設計模式並增加PHP(或其他語言)技能的好方法。

至於你的問題,我看到的最常見的方法是使用不同的目錄,如你提到的「admin」子目錄,然後強制控制器的名稱後綴或前綴,例如「UsersAdminController.php」在最後添加「AdminController」。

使用子目錄可能更好的一件事是,它強化了關注點的更好分離,並降低了以相似目錄中的許多類似simmilar結束的可能性,這可能會導致某些時候出現混淆。

+1

其實大部分的PHP框架都是完全廢話。無處不在的全局狀態,代碼碎片的廢棄,對ORM的癡迷,認證/授權系統的短缺,對SOLID原則的無知......你可以說製作一個框架正在重新發明輪子,但PHP社區仍在製造輪子。 –

+0

@tereško我同意這一說法。 PHP沒有什麼紅寶石。我們沒有一個標準的成熟框架。 – Daniel

+0

@丹尼爾,如果在紅寶石中使用「成熟框架」,你的意思是創造者所描述的「原型框架,不應該用於生產代碼」,並且實際上導致了ActiveRecord的這種延遲風暴,在當前的web框架中實現MVC ..然後你是無能爲力。 –

1

我想創建自己的框架是一個偉大的想法,如果只是作爲一個練習,以更好地瞭解後面的Web應用程序的結構。

我做這麼自己,我覺得你的方法取決於你想要走多遠非常多。

我開始用一個多語言支持子系統和用戶數據庫管理類,現在我移動到內容管理和數據庫查詢消毒。

我把我的班文件分離,並通過分組子系統中的文件夾,如multilang或管理員,我認爲這是最好的辦法。

2

你必須注意的第一件事是Kohana是一個HMVC框架。與其餘的一羣相比,它有點不同。在這種情況下,admin不是模塊,因爲它是控制器和其他類的命名空間(儘管kohana仍在使用類似PEAR的「namespacing」)。

這種方式還可以分離出應用程序的其他部分..可以說你有很多的處理標記和標籤雲代碼。然後,您可以爲此創建另一個名稱空間/模塊。並將它們用作子控制器。這是HMVC的一項優點。

將管理部分與一般應用程序分離的另一種方法是將它們作爲單獨的應用程序處理,但是然後您需要另一個共享組件的位置(很可能來自模型層)。然後你的服務器上有多個/appliation/文件夾。

或者你可以做兩個組合。

相關問題