2010-03-24 128 views
2

什麼是最好的,最簡單的和最快的方式來使用頁面模板。現在我一直在使用一個函數爲每個頁面創建我的模板。PHP函數vs包括網站模板

$title = "Kick Me"; 
<?php pageHtmlHeadStart($title)> 
    <!-- Were Javascript would go --> 
<?php pageHtmlHeadEnd(); guiHeader(); ?> 

    Content went here. 

<?php guiFooter; ?> 

我用來使用包括...

<?php include('header.php'); ?> 

    Content went here. 

<?php include('footer.php') ?> 

我想使用PHP對象做同樣的事情。它會像功能一樣運行。我將創建一個GUI類,該類將包含模板包裝,幷包含一些腳本以顯示內容(通過回聲),我在不同的頁面上再次使用了幾次。

我可能會回答我自己的問題說這個的時候......我喜歡現在的方式與功能做到這一點。我只是不知道這是不好的編碼習慣。

回答

4

在模板上下文中提及,有什麼不對使用include()語句。它們使得代碼看起來乾淨並且可以輕鬆地在模板之間共享html片段。

是否使用實例方法,靜態方法或功能「模板標籤」取決於你的框架或應用程序的架構。雖然OOP通常是一件好事,但將所有東西都變成一個對象並不會讓你的代碼變得更好。

PHP本身確實是一個很好的模板語言。沒有必要爲模板創造另一種「語言」 - 只要你緩存你的解析文件(就像Smarty一樣),這也不是錯誤的。

你可能想看看SavantSmarty模板引擎。我也建議你學習各種PHP MVC框架,看看這裏有什麼實現:SymfonyKohana

+0

只是打我說完全一樣的東西。 :) – 2010-03-24 11:46:44

+0

謝謝Yaggo的簡短回答。順便說一下,今天Net Tuts +發佈了一個關於MVC的簡短教程。我認爲這與你的答案一致。 http://net.tutsplus.com/tutorials/other/mvc-for-noobs/ – SgtOJ 2010-03-24 23:48:06

0

如果你想有一個模板,然後用模板語言。據我所知,使用PHP進行模板製作絕對不是一種好的做法。一些好的PHP模板引擎在http://digg.com/programming/Top_25_PHP_template_engines

+0

即使http://www.webresourcesdepot.com/19-promising-php-template-engines/是一個很好的鏈接 – pinaki 2010-03-24 11:34:09

+1

腓_is_一個模板引擎。它旨在使代碼嵌入HTML變得容易。使用另一層靛藍只會讓一切變得更加複雜。 – gnud 2010-03-24 11:44:39

+0

我希望在我工作的地方提出這個建議,但我們目前有很多功能模板的專家。爲什麼模板語言更好?是否有任何模板語言允許迷你模板功能打印經常使用的UI元素,如皮膚按鈕,選項卡條等等,因爲這是我所有的同事一直使用它的原因,我會遇到麻煩說服他們使用新的東西,如果他們不能以這種方式節省時間... – olive 2010-03-24 11:45:52