2012-04-30 54 views
0

我想在類似smarty的其他插件中編寫自己的模板引擎。如何編寫自己的PHP模板引擎?

<body> 
<p><?php echo $paragraph; ?></p> 
<i><?php echo date("l"); ?></i> 
</body> 

但我想寫如下

<body> 
<p>{paragraph}</p> 
<i>{day}</i> 
</body> 

我怎麼能寫引擎上。

+10

PHP本身是怎樣的一個模板語言。爲什麼要在其上添加不必要的圖層?此外,您可能能夠適應的現有模板引擎有數十種。無論如何,這是一箇舊的教程,可能會有所幫助 - http://www.codewalkers.com/c/a/Display-Tutorials/Writing-a-Template-System-in-PHP/ – Nadh

+0

但是,爲什麼你想發明再次輪?但正常的方法是替換字符串。看看Smarty他們是怎麼做到的) – Stony

+2

如果你想重寫Smarty,你可能想看看它的源代碼。 – JJJ

回答

2

想必,你正在尋找沿着以下線的東西:

php > $t = "Hello {name}"; 
php > $v = "name"; 
php > $name = "Test"; 
php > echo str_replace('{'. $v .'}', $$v, $t); 
Hello Test