2013-05-17 44 views
0

我想創建一個CMS,首先安裝和配置。我希望做兩階段的位置:與服務器的要求設計安裝過程

  1. 顯示頁面
  2. 顯示數據庫配置「窗口」
  3. 點擊提交,顯示一些其他的配置窗口

等之後直到完成。


我的問題是嚴格設計發行:

  1. 如何檢查用戶是否完成整個安裝過程已經來到?完成後我可以創建config.php文件並檢查它是否存在 - 這是一個很好的解決方案嗎?我認爲file_exists()會降低應用程序的速度。

  2. 當我點擊「提交」在這篇文章頂部的階段,我需要將請求重定向到config類方法 - 所以需要路由。這是一個好的解決方案嗎?

  3. 最後,當我點擊提交併且我在類的方法中做某事時,我需要將用戶移動到下一個窗口。我應該怎麼做?在這個方法裏面需要html文件嗎?使用相同的文件重定向到不同的方法,包括?

+0

這個問題與oop無關,你介意編輯標籤嗎? – PeteH

+1

那麼,該項目是面向對象的......:P – user2252786

回答

0
  1. 通過在安裝過程中你做的很好月底創建一個配置文件。無論如何,您的應用程序需要從文件中提取配置數據。

  2. 在一個複雜的應用程序,如CMS,你不會繞過使用某種路由,所以是的,這將是一個很好的解決方案。

  3. 是否重定向到另一個動作取決於你想要做什麼。我會在控制器中將每一步都作爲一個單獨的動作。你有理由應該把你的業務邏輯與你的輸出分開,這意味着你需要在業務邏輯的動作中加載你的html文件。

根據你的問題,我發現你還可以閱讀一些東西。我建議你看看MVC模式(Why should I use MVC in a php website?)。

一旦你理解了MVC,你的第二個和最後一個問題就會自動地被清除。

(所有潛在downvoters:不,我不是一個「不擇手段」 MVC傳教士但CMS恰恰是一個應用程序,MVC會派上用場。)

+0

Config系統放置在SYSTEM文件夾中。我需要這個MVC,例如管理系統放在ADMIN文件夾中。所以我需要將這些部分與CORE文件夾中的一些基本控制器/模型/視圖類連接起來......這不是有點麻煩嗎? – user2252786

+0

好吧。我寧願你可能想爲你的整個應用程序使用MVC,而不僅僅是爲了安裝過程。大型應用程序共享軟件的某些部分是非常正常的。 – thpl

0

廣告1。每次渲染頁面時,您可能都必須連接到數據庫,因此您必須閱讀配置文件。如果沒有配置,你可以添加一些重定向到安裝頁面(你也可以檢查一些其他的東西,因爲只有當沒有配置異常引發時纔會檢查它)。

Ad2。您不需要任何花哨的路由來執行重定向。

header("Location: http://www.example.com/"); 

Ad3。我不確定你的意思是「我在班上的方法」。你使用任何PHP框架?您只能在URL之間進行重定向,這些URL可以是服務器上的.php腳本的簡單地址,或者可以使用mod_rewrite模塊(或者在您不使用Apache的情況下可以使用類似工具)屏蔽。所以你應該至少有一個用於正常站點查看和其他安裝的腳本。安裝完成後,您將重定向到處理請求的常規腳本。

正如其他建議,我還建議您進一步閱讀MVC模式並考慮使用一些框架(Zend框架僅作爲一個示例)。

+0

我需要路由來使用

。 – user2252786

+0

我不確定如何在這裏使用MVC模式構建核心類。使用MVC僅用於系統的配置部分真的可以嗎? – user2252786

+0

是的,只要您想使用不代表您要撥打的腳本的實際地址的URL,就需要路由。 – Wiktor