Home  >  Article  >  php教程  >  简单认识Smarty3

简单认识Smarty3

WBOY
WBOYOriginal
2016-06-13 10:36:011192browse

这些天看到了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调用
代码片断:
require(Smarty.class.php);
$smarty=newSmarty;
$smarty->assign(foo,bar);
$smarty->display(index.tpl);
和之前的版本似乎没什么差别

SINGLETON
这个有意义吗?

代码片断:
$smarty= Smarty::instance();
模板
之前的smarty模板,相当于重新定义了一套标签语言,那么smarty3提供了一种新的模板形式,直接支持php语法的模板。

但是问题就出来了,我们还有必要用模板吗?

引用php类型模板的一个例子:

代码片断:
$smarty->display(php:mytemplate.tpl);
模板中可以直接使用熟悉的语法: =$foo?> =$bar?>

使用php类型模板的话,安全问题需要自己解决。但这个对成熟的团队来说不是问题。

除此之外,新支持字符串类型的模板,感觉比较生猛,离模板之路也是渐行渐远:

代码片断:
$smarty->display(string:This is my template, {$foo}!);
smarty3的相关链接
Smarty 3 Alpha with SVN-- 选择googlecode提供的svn服务还是蛮省钱的
smarty 3开发者邮件组

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php configNext article:PHP截取字符串专题