2014-01-17 64 views
2

我現在正在爲Java團隊工作,但我使用PHP作爲私人案例。PHP模板引擎,可以將邏輯單獨呈現

我的工作團隊正在導入Thymeleaf這是一個強大的Java模板引擎。

它可以寫出輸出或表達式變量,例如如果其他到標籤爲屬性,例如:

<tr th:each="prod : ${allProducts}"> 
  <td th:text="${prod.name}">Oranges</td> 
  <td th:text="${#numbers.formatDecimal(prod.price,1,2)}">0.99</td> 
</tr> 

它也可以在瀏覽器中正常,沒有任何Java的變量或表達式完全呈現。

當我使用PHP時,我知道Smarty嫩枝
但他們都必須寫在變量和表達式之外的標籤(而不是歸因),這顯示在瀏覽器中。

所以我想知道是否有某種方式使用Smarty或枝條像Thymeleaf一樣。
或其他PHP模板引擎可以很容易地做到這一點。

最好的問候,

UPDATE

它也可以在瀏覽器中渲染正常,沒有任何Java的變量或表達式完全。

我的意思是這可以在沒有任何解析過程中完成。
只要在瀏覽器中打開文件就好像沒有任何引擎。

回答

-1

但他們兩人都寫標籤

嚴正外變量和表達式......不是嗎?不知怎的,我希望我不明白你的錯誤,但這是錯誤的。

<script src="{$tmplpath}js/chosen/chosen.jquery.min.js"></script> 
<link rel="stylesheet" href="{$tmplpath}css/style_general.css"> 
{if isset($custom_stylesheet)} 
    <link rel="stylesheet" href="{$tmplpath}css/{$custom_stylesheet}"> 
{/if} 

這是我的最後一個項目,我使用Smarty的工作,和我沒有外界寫的標籤。

+1

我從來沒有使用Thymeleaf,但它似乎使用(X | HT)ML作爲其語法的一部分。Twig/Smarty獨立於他們實際輸出的內容,Thymeleaf看起來更像XSLT。 – deceze

+0

@ y-u-no-work對不起,我的描述不是很清楚,我剛纔更新了它。那麼,如果你的文件直接在瀏覽器中打開,我認爲__if__部分仍然會顯示。 –

+0

@deceze但它對設計師來說很乾淨,所以他們可以專心於設計。 –

0

純PHP與內置模板引擎。沒有安裝。

<?php foreach ($allProducts as $prod): ?> 
<tr> 
<td><?= $prod->name ?></td> 
<td><?= $numbers->formatDecimal($prod->price,1,2) ?></td> 
</tr> 
<?php endforeach; ?> 

如果您沒有輸入<?標籤,它就像純html一樣。按照慣例,分離是沒有技術障礙的。如果你有更多受限技術的經驗,這就足夠了。

+0

謝謝。作爲一名PHP開發人員,我知道這一點,可以在沒有技術障礙的情況下使用這種方式。但是當我們儘可能地單獨表示邏輯時,我和那些設計師可能不喜歡這種方式。 –

1

我明白了!

這是PHPTAL
與Thymleaf一樣!

太棒了!