2013-11-26 130 views
0

什麼是使用JavaScript的PHP中的模板(樹枝等)的一些最佳做法?在這些模板中包含JavaScript是好的還是不好的做法?如何處理JavaScript?PHP模板化JavaScript最佳實踐?

例如;當前的設置,我已是

something.php 
something.thtml // includes all templating and JavaScript 

我想也許是這樣的:

something.php 
something.thtml // no JS 
something.js // move index.thtml JS out and into its own JS file which is loaded. 

然而,這可以成爲「意大利麪條」從長遠來看,所以我想知道在PHP中創建模板以實現簡單的可維護性時,遵循的標準是什麼。

回答

0

通常情況下,您的js將與您的html文件分開,因此您應該儘量避免將任何javascript放在模板文件中,但這樣做沒有任何問題。

應該真的是這樣能夠改變你的CSS,圖像的公共文件夾,和js 然後所有的HTML或模板單獨供貨

+0

我會用多個文件,按款打破他們,不知道你的項目需要什麼,但也許可以把它分解開來分類,那麼你可以像require.js處理太多的調用,並確保您的依賴性是有序的 – kkemple

0

我想有許多不同的堅實的方式來做到這一點,但我發現,對每個文件有不同的角色是最好的。

我覺得最好創建的PHP腳本,在那裏你可以調用任何的JavaScript你想

function makeHTML($vTitle,$vMetaKeywords,$vMetaDescription,$vJavascripts,$vOnLoad,$vPage) 
{$vHTML = '<!DOCTYPE html">' . "\n"; 
    $vHTML.= '<html>' . "\n"; 
    $vHTML.= '<head>' . "\n"; 
    $vHTML.= '<title>' . $Title . '</title>' . "\n"; 
    $vHTML.= '<LINK HREF="css/style.css" REL="stylesheet" TYPE="text/css">' . "\n"; 
    $vHTML.= '<meta http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">' . "\n"; 
    $vHTML.= '<link rel="stylesheet" href="css/style.css">'; 
    $vHTML.= ($vJavascripts == '' ? '' : $vJavascripts); 
    $vHTML.= '</head>' . "\n"; 
    $vHTML.= '<body' . ($vOnLoad == '' ? '' : ' onLoad="' . $vOnLoad . '"') . '>' . "\n"; 
    $vHTML.= $vPage; 
    $vHTML.= '</body>' . "\n"; 
    $vHTML.= '</html>' . "\n"; 
    return $vHTML;} 

$ v第html的頁眉和頁腳是您從模板創建的頁面,不包含任何JavaScript也沒有HTML標題。 這樣你就可以在不用修改所有模板的情況下工作你的頭文件

$ vJavascripts包含你希望從任何你想要的任何JavaScript文件中獲得的JavaScript。

通過這種方式,您可以使用您的標題或JavaScript,而無需每次都在十五個不同的文件夾中進行操作。

然後,在你的腳本的最後,只是回聲$ vHTML到

1

嘗試TwigMustache。細枝模板

例子:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>My Webpage</title> 
    </head> 
    <body> 
     <ul id="navigation"> 
     {% for item in navigation %} 
      <li><a href="{{ item.href }}">{{ item.caption }}</a></li> 
     {% endfor %} 
     </ul> 

     <h1>My Webpage</h1> 
     {{ a_variable }} 
    </body> 
</html>