2012-05-31 176 views
1

我只是想看看我構建我的網站模板的方式是否是最好和最動態的方式。目前,我有我的網站播出,但我想要的內容改變的地區,我使用下面的代碼。然後PHP - 最佳實踐 - 網站模板

<? 
if (preg_match("/\W/",$page) || !file_exists("../$page.html")) { 
    include("../home.html"); 
} 
else { 
    include("../$page.html"); 
} 
?> 

導航,就像這樣,鏈接到網頁,

<a href="index.php?page=about">About</a> 

這是用PHP構建一個模板,還是有更好的方法的最佳方式?感謝您的幫助。

+4

這不是模板。此外,還有很多建立網站的方法,這只是其中的一個。這個問題只會引起辯論。 – Repox

+0

在較少的論壇中,像這樣的問題會引發爭論,但我們大多數人都知道,沒有什麼「最好的」方法可以做任何事情。只有_不同的方式_或_完全錯誤的方式_。儘管如此,這個問題並沒有一個「正確的」答案,所以我將其標記爲不具有建設性。我希望這不會讓你不能問Stack Overflow問題。 – Herbert

回答

4

沒有最好或最動態的方式來創建網站模板。

你所能做的就是向經驗和其他人學習。

您的代碼是在模板之間切換的一種方式。有些立即可以改進:

  • 使用& &,而不是||因爲AND運算符的短路特性。如果頁面不匹配,則不需要執行 文件檢查

  • 使用數組查找表將頁面值映射到文件名模板(例如'home' - >'homepage.html'等),主要是這有助於防止將外部輸入用於文件路徑的嚴重漏洞利用。

  • 不要檢查文件,因爲爲什麼要連接一個不存在的模板?

1

而是寫從無到有像這樣(和國際海事組織不是很漂亮的或動態的爲好),你最好先看看框架是如何做到這一點。大多數框架都有(良好的,漂亮的,動態的,可擴展的,無論是什麼)模板機制,都仍然使用純PHP或使用第三方引擎。