smarty 3 alpha开始开发了。
admin smarty 3 alpha 版正在开发中
从 smarty官网 上看到的消息:smarty 3 alpha版本正在进行中。
总的来说,模板语法和php自身的语法更加接近。对初学者来说这是一个福音。不用再花大量的时间去熟悉”一门新语言”的语法。当初学smarty,也是从新开始学它的语法。
在smarty 3 讨论组 里看到,语法会有如下更改:
我正在琢磨smarty新语法。这是smarty 3的重要特色。它不仅会简化smarty的tag语法,而且也会使学习曲线更平缓。欢迎大家踊跃回帖!
我们将引进新的更明了的smarty 3 语法,相对之前的smarty版本来说,它和php语法更接近。实际上,和php语法相比,smartt3的语法只是在分界符等方面有些不一样。
比如:
PHP: <?= $foo ?>
Smarty: {$foo} // 和smarty 2 一样
PHP: <?= $foo['bar'] ?>
Smarty: {$foo['bar']} // 不再是 {$foo.bar}
PHP: <?= $foo[$bar][$foo['bar']] ?>
Smarty: {$foo[$bar][$foo['bar']] ?> // 和 PHP 一样
PHP: <?php foreach($foo as $bar) { … } ?>
Smarty: {foreach $foo as $bar} … {/foreach} // 只是分界符不一样
PHP: <?php for($x = 0; $x<$y; $x++) { … } ?>
Smarty: {for $x=0; $x<$y; $x++} … {/for} // 避免用 {section}
PHP: <?php if($foo == $bar && $blah !== ‘ziggy’) { … } ?>
Smarty: {if $foo == $bar && $blah !== ‘ziggy’} … {/if}
除了一些语义上的差别(semantic changes),Smarty 3变量语法和php基本上是一样的。我们仍然采用 { } 语法,而不是<?php ?>.但是,你不再需要学习一堆语言
构念(constructs).所有的东邪都是直接从PHP里搬过来的。这也使得Smarty 编译器的工作变得简单。它只需简单地作下预处理,把Smarty标签换成PHP标签,接着剩下的大部分工作都由PHP编译器来搞定。
这样的话,用不用模板语法:{$foo} 还是 <?=$foo?>,由你决定。只要你愿意,可以在模板里全部使用PHP语法。我们也会保留一些不错的Smarty 2语法:
{if $foo eq $bar and $blah ne ‘ziggy’} … {/if}
我还在仔细斟酌这个,但是我期待你告诉我你的想法。
查看原文
最新的Smarty 3 Alpha代码
svn checkout http://smarty-php.googlecode.com/svn/branches/Smarty3Alpha/
Posted in php, web开发 |
No Comments »