2013-07-04 67 views
0

我正在爲我正在構建的網站創建一個博客。主博客頁面顯然已將每個博客列爲應該的。但我希望每個博客在網站上都有自己的個人頁面。我希望在創建博客文章時生成此頁面。使用PHP從模板動態創建頁面

我的問題是,什麼是創建此頁面的最佳方法。如果我使用PHP文件函數來創建它,我需要填充一個$ data變量,其中包含數百行HTML頁面。我認爲這是可行的,如果我也能夠動態地改變變量以適應需要在所述頁面上發佈的新內容。

有沒有更好的方法? PHP會爲此工作嗎?任何建議都會有幫助。

+3

是的,它被稱爲[WordPress](http://wordpress.org/):) – CodeAngry

+0

這是PHP的主要目的之一。如果你沒有使用像wordpress這樣的平臺(你應該 - 因爲爲什麼重新發明輪子?),那麼你會構建不變的元素(如頁眉和頁腳),然後使用[include](http ://php.net/manual/en/function.include.php?)構建頁面。你最好將所有內容存儲在數據庫中,然後調用內容...但如前所述,這裏有一百萬個框架 - 其中一個叫做[wordpress](http://wordpress.org) – James

+4

謝謝爲建議傢伙。不幸的是,如果我只想點擊幾個按鈕並創建一個WordPress的相關網站,我會做到這一點。相反,我正在尋找擴展我對編碼的知識,並且正在尋找關於如何通過StackOverflow來實現這一目標的建議,而StackOverflow就是爲此而設計的。但是,再次感謝您至少發表評論。 – Josh

回答

0

一般情況下,我會做或多或少是這樣的:

1.創建一個「博客」 SQL數據庫表。 創建'id'列(主鍵),以及'blog_date','title','author'和'html_content'等字段的列。

2.使用php創建一個'Blog'類。 創建與'博客'表中的SQL字段相對應的屬性,包括'id'。

3.創建公共「loadFromDB()」和「saveToDB()」方法 這些方法應該加載並在「博客」(由ID選擇的)保存一個行的SQL值和從類屬性。

4.創建一個公共「視圖()」爲「博客」類的方法 這僅僅是一個博客條目顯示日期,標題,作者的HTML視圖/模板等

5.在服務器上的文件夾中創建'index.php'博客頁面 您想使用此頁面顯示單個博客條目。 使用博客的SQL ID從主博客頁面中的鏈接調用此頁面時,例如通過http GET:'http://www.yoursite.com/blogs/blog/index.php?id=30'。在裏面的index.php你的PHP代碼,其中所需的條目出現,做這樣的事情:

$id_default = 27; // the blog entry which must appear when there is no query parameter 
$id = empty($_GET['id']) ? $id_default : $_GET['id']; 
$B = new Blog($id); 
$B->loadFromDB(); 
$html = $B->view(); 
echo $html; 

這樣一來,您不必爲每個博客條目創建一個HTML頁面,或放所有在一頁上的條目。您可以僅使用一個使用GET參數動態創建的頁面。

很明顯,你可以/必須做更多的事情,比如創建評論顯示和表單以及'評論'SQL表等。但是這應該會給你一些想法。

0

它可以爲每個博客動態創建單獨的頁面。以下是您可以遵循的步驟。

  1. 創建一個主模板。在需要動態內容的地方添加一些特殊標籤。
  2. 在添加新帖子時,從該主模板讀取內容,用實際值替換適當的特殊標籤
  3. 將最終生成的內容寫入新文件並將其保存到關聯位置。
  4. 您已準備好訪問該頁面。