2013-05-16 25 views
0

我正在構建一個使用PHP和OOP的CMS - 這是一個學習項目,它提高了我的OOP技能,同時給了我一個記住最終目標的動機。基於PHP OOP的CMS - 顯示單獨的頁面

我來實際編碼後端網頁 - 我只是有一個問題,如何以最佳方式結構的文件夾,文件等方面的應用

我有一個類的文件夾,其中的一些我打算在前端網站中使用。一個這樣的類是處理加載模板(頁眉,內容和頁腳)的頁面類,這對於我確信的前端可以很好地工作。然而,後端是一個不同的故事,顯然沒有一個頁面(添加/編輯頁面,添加/編輯用戶等)將被存儲在數據庫中,所以我應該如何處理這些頁面的輸出?

我是否最好創建Page類的子類並在其中設置內容?或者,爲每個頁面創建一個新的PHP文件會更好嗎?我傾向於使用子類,但這可能導致相當沉重的文件(Page類,添加頁的子類,編輯頁等)。

任何有關如何去做這件事的最佳途徑的建議都會很棒。

回答

1

我會做更多或更少的這種結構(MVC架構模式):

-MyCMS 
--assets 
----css 
----img 
----js 
----templates 
------pages 
------partials 
--------forms 
--------grids 
--conf 
--src 
----Controller 
------Dispatcher 
----Form 
----Model 
------DataMapper 
----Routing 
----View 
------Renderer 
--test 

我認爲這是一個壞主意,以保持所有的類在同一個文件夾中,就應該進行邏輯分組。這只是一個例子,你不需要在你的src文件夾中有這些組件,但會給你一個如何組織你的組件的想法。

您的類Page應該是通用的,從assets/templates/pages中的模板構建一個頁面,而不是爲每個不同的頁面創建子類。

+0

你錯過了「測試」文件夾= P –

+0

事實上,但我不知道他是否使用單元測試= P ...但我會在那裏改變。 –

+0

我不使用單元測試......還沒有!我認爲這是我最終會走的路。我喜歡使用核心代碼並讓模板獨立完成所有樣式的想法,但這不像在模板文件中完全控制頁面輸出那樣實用。 – 0Neji

1

將每個子類放入一個單獨的文件中。有文件名和類名對應,所以你可以設置類自動加載。