关于smarty3的一些说明
这些天看到了smarty 3 alpha冒头了,于是花时间做了个走访调查。下面的文字基本上来自其readme:
基本文件文件结构
index.php /libs/ Smarty.class.php #主文件 /libs/sysplugins/ #内部plugin internal.* /plugins/ #外部plugin,可自由扩充 function.mailto.php modifier.escape.php /templates/ #模板,可以是纯php或传统的smarty模板 index.tpl index_view.php
一个经典的smarty调用
PHP:
-
require('Smarty.class.php');
-
$smarty = new Smarty;
-
$smarty->assign('foo','bar');
-
$smarty->display('index.tpl');
和之前的版本似乎没什么差别
SINGLETON
这个有意义吗?
PHP:
-
$smarty = Smarty::instance();
模板
之前的smarty模板,相当于重新定义了一套标签语言,那么smarty3提供了一种新的模板形式,直接支持php语法的模板。
但是问题就出来了,我们还有必要用模板吗?
引用php类型模板的一个例子:
PHP:
-
$smarty->display('php:mytemplate.tpl');
模板中可以直接使用熟悉的语法: <?=$foo?> <?=$bar?>
使用php类型模板的话,安全问题需要自己解决。但这个对成熟的团队来说不是问题。
除此之外,新支持字符串类型的模板,感觉比较生猛,离模板之路也是渐行渐远:
PHP:
-
$smarty->display('string:This is my template, {$foo}!');
smarty3的相关链接
- Smarty 3 Alpha with SVN -- 选择googlecode提供的svn服务还是蛮省钱的
- smarty 3开发者邮件组
作者: Volcano 发表于February 1, 2009 at 6:10 pm
welefen 于 2009-02-02 @ 09:16:15 留言 :
东西都是越做越复杂的,ThinkPHP中的模板还是很不错的
David Lou 于 2009-02-02 @ 18:20:28 留言 :
是否使用模板一直是个争论的话题,对于开发来说,smarty还是一个工具,一个提升开发质量和效率的工具,还是要看是不是符合自己的需求。我认为在中小型网站甚至大型网站的快速开发中,还是能够发挥作用的。
sasumi 于 2009-02-25 @ 16:07:38 留言 :
感覺已經脫離了模板本身的概念好遠了。
到了smarty3.0, 模板除了非程序員,其他美工什麽的還看得懂?
西城 于 2009-08-23 @ 11:34:24 留言 :
有两年时间没用过smarty了,我一直喜欢用最简单的方式来解决问题。
smarty等要用大量时间去学习。效率也不高。
discuz是我喜欢的简且高效. 你的blog内容很好。