2014-05-01 31 views
1

我是一個CS學生做項目,所以它真的不是那麼重要。我選擇使用php/html作爲我的平臺。無論如何,我的問題是關於將常見的HTML代碼放入一個PHP文件,然後從該文件調用函數來輸出HTML。這是常見的做法嗎?這就是我正在做的事情,它似乎工作正常。我的目標(像所有人一樣)只需更新一個文件,並通過我的網站將更改級聯起來。我只是好奇這樣做的行業標準方式是什麼,以及是否有其他好的方法來做到這一點。這是我得到了現在要去的僞代碼示例:使用PHP的'模板'的HTML頁

<?php 

class template 
{ 

function sideBar(){ echo <div>..sidebar stuff that is consistent on all pages..</div> 

function head(){ echo css import stuff} 

function scripts(){echo <script>javascript stuff</script>} //this one didnt work fyi 

} 


?> 

,然後在html我做這樣的事:

<?php $template=new template; ?> 


<html> 
    <head> <?php $template->head(); ?> </head> 

<body> 
    <?php 
    $template->sidebar(); 

    $template->scripts(); 
    ?> 



</body> 


</html> 
+1

您可能希望查看模板引擎,我自己現在使用[TemplatePower](http://templatepower.codocad.com/)多年。它給你一個好主意,如何分解這兩者。 – LinkinTED

+0

如果它符合您的需求,爲什麼不使用它?大多數人使用框架(Symfony,CI,Zend,...)。你也可以使用像PHPCake或Smarty這樣的模板引擎。 – GuyT

+1

我會建議你使用MVC來分離數據,邏輯和視圖。 – xzegga

回答

0

我看你學習,甚至試圖創建自己的模板。我認爲所有優秀的程序員都在編寫意大利麪代碼,然後找到includes來包含頁面的某些部分(例如具有用於頁眉,頁腳甚至菜單的文件)

然後我們開始創建簡單模板整個.html文件佔位符{{用HeadScript}},{{PageBody}}和str_replace他們。所以,邏輯不包含withing HTML。(1 MVC?)

下一步進展是創建一個類,我們可以伊斯利添加動態腳本,或設置當前菜單項

對於我開始我的「戰爭」與編程從結構語言進化就像o ne上面提到。

當你已經有做那的一些方法 - 你發現別人已經做的不太一樣,你

  • Zend公司有它的一些PHP代碼視圖,使其動態或使用if的和while的。
  • Smarty是模板庫 - 用它自己的代碼而不是php(很像php,但是ppl往往不會那麼害怕那個代碼)。
  • 很多其他 - 有很多其他庫或MVC框架,它們可以找到從html部分分割實際代碼的方法。

至於別人說的意見 - 不推倒重來 - 我會建議你兩件事情

  • 之一是,你繼續寫自己的代碼(如您將學習從很大)
  • 如果您只需要模板 - 使用Smarty - 它很容易,只能用作模板框架。

選擇是你的,嘗試學習,看看別人是如何做的,併發明''你自己的代碼。它不需要像Smarty那樣強大(它已經有幾年的發展 - 你剛剛開始)。但是,這將是您的CS代碼。