2011-08-24 105 views
2

我希望您能對最佳方法或最佳實踐提出意見,以便構建網站的後臺。要考慮的因素是網站性能(加載速度)和安全性。構建個人php cms-最佳實踐

第一個假設是隻使用PHP和MySQL,其中數據來自frontoffice數據庫。

第二個假設是使用PHP MySQL和XML。內容來自XML文件,用於接收和寫入數據到數據庫

在第二種情況下,我將不得不在前臺使用某個庫來解析XML中的數據到PHP,對吧?

您認爲使用其中一種方法而不是其他方法的好處是什麼?

+0

如果要將XML用於動態頁面,最好使用[JSON](http://en.wikipedia.org/wiki/JSON)。這將允許您直接使用Javascript解析數據。至於這種方法,除了能夠使用[Ajax](http://en.wikipedia.org/wiki/Ajax_(編程))以外,在這種方法中沒有真正的優勢,並使網頁看起來更具響應性。我將開始製作一個PHP + MySQL,因爲它不太複雜,並且可以建立。 –

+1

'如果XML要用於動態頁面,那麼最好使用JSON'您可以通過編寫自己的REST來同時使用這兩種格式和更多格式。 – toopay

回答

1

構建好的CMS不是微不足道的,爲了達到這個目的,我首先嚐試瞭解一些現有的PHP CMS-es,框架和庫。開始的好處是維基百科上的「web框架列表」。

我建議以很高的概率,您需要的CMS - 已經在那裏了。設計,實施,測試和無bug :)

如果您確實需要構建自己的CMS,請考慮將平面文件(包含緩存或其他內容),JSON,BJSON存儲 - 因爲XML並不總是「最好的「選項(並且在PHP世界中XML可能是最慢的選項之一)。另外看看一些已經完成的ADO實現,如Doctrine。

+0

有很好的建議。爲了補充一點,如果您考慮製作您自己的CMS,現成的模板解決方案是[Smarty](http://www.smarty.net/)。這可能不是性能最好的選擇,但語法非常簡單。另外,如果您需要清理HTML輸入,[HTMLPurifier](http://htmlpurifier.org/)是值得的。 –

+0

沒有無錯的軟件。 – Zirak

+0

這樣做更多 - 爲什麼不把所有數據存儲爲簡單的序列化PHP對象/數組(調用serialize()和deserialize())...我也使用了這種方法,並且可能沒有比原生PHP序列化更快的方法。 –