我看過很多劇本在那裏你會看到這樣的事情我怎樣寫我的腳本輸出數據,其中我把這樣的事情:(名稱)
<meta keyword="{keywords}" ...>
或
<input type="text" name="name" value="{name}">
這是什麼叫,我怎麼可以自己做到這一點。
謝謝
我看過很多劇本在那裏你會看到這樣的事情我怎樣寫我的腳本輸出數據,其中我把這樣的事情:(名稱)
<meta keyword="{keywords}" ...>
或
<input type="text" name="name" value="{name}">
這是什麼叫,我怎麼可以自己做到這一點。
謝謝
它被稱爲模板。
你需要一個模板引擎,或者你可以自己寫一個模板引擎。 很久以前,有一種叫做Smarty的流行模板引擎。今天,模板引擎是大多數框架的一部分。
下面是PHP的幾個模板引擎的列表: http://www.webresourcesdepot.com/19-promising-php-template-engines/
考慮的事實,你有這樣的問題,你自己的模板引擎將更可能有缺陷,所以我建議您選擇的自由一個可用的。
還有一件事。 PHP本身就是一種模板引擎,所以你不一定要添加另一層模板。使用PHP:
<input type="text" name="name" value="<?=$VALUES['name']?>">
有模板引擎,在那裏,支持可變語法的這種風格,例如閃電模板(http://alexeyrybak.com/blitz/blitz_en.html)想到的。
我不知道你的意思,但是讓我來猜猜:
$foo = "Please replace {this} here!";
$bar = str_replace('{this}', 'that', $foo);
當然也有很多模板系統的周圍做到這些,只有聰明得多。所以你可能想看看。
我可以推薦...
<input type="text" name="name" value="<?= e($name) ?>">
其中E爲避開功能
我覺得不必要的模板引擎
更多的例子......
的foreach ...
<ul>
<?php foreach($items as $item): ?>
<li><?= e($item) ?><li>
<?php endforeach; ?>
</ul>
if ...
<input type="checkbox"<?php if($checkbox): ?> selected="selected"<?php endif; ?>>
你也應該建議不要使用短標籤。不像你的例子。 – random 2009-10-03 02:19:11
這需要PHP短標籤才能啓用。沒有它,它會輸出字面,問號和所有。 – seanmonstar 2009-06-01 04:10:17