当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP教程:简单认识smarty3

PHP
PHP新手总结的PHP基础知识
php实现gb2312和unicode间编码转换
用php语言实现数据库连接详细代码介绍
详细解析 PHP 向 MySQL 发送数据过程
利用PHP V5开发多任务应用程序
详细讲解PHP中缓存技术的应用
php escapeshellcmd多字节编码漏洞
《PHP设计模式介绍》导言
《PHP设计模式介绍》第一章 编程惯用法
《PHP设计模式介绍》第二章 值对象模式
《PHP设计模式介绍》第三章 工厂模式
《PHP设计模式介绍》第四章 单件模式
《PHP设计模式介绍》第五章 注册模式
《PHP设计模式介绍》第六章 伪对象模式
《PHP设计模式介绍》第七章 策略模式
《PHP设计模式介绍》第八章 迭代器模式
《PHP设计模式介绍》第九章 观测模式
《PHP设计模式介绍》第十章 规范模式
《PHP设计模式介绍》第十一章 代理模式
《PHP设计模式介绍》第十二章 装饰器模式

PHP教程:简单认识smarty3


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 269 ::
收藏到网摘: n/a

这些天看到了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:
  1. require('Smarty.class.php');
  2. $smarty = new Smarty;
  3. $smarty->assign('foo','bar');
  4. $smarty->display('index.tpl');

 

和之前的版本似乎没什么差别

SINGLETON

这个有意义吗?

PHP:
  1. $smarty = Smarty::instance();

 

模板

之前的smarty模板,相当于重新定义了一套标签语言,那么smarty3提供了一种新的模板形式,直接支持php语法的模板。

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

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

PHP:
  1. $smarty->display('php:mytemplate.tpl');

 

模板中可以直接使用熟悉的语法: <?=$foo?> <?=$bar?>

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

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

PHP:
  1. $smarty->display('string:This is my template, {$foo}!');

 

smarty3的相关链接

  • Smarty 3 Alpha with SVN -- 选择googlecode提供的svn服务还是蛮省钱的
  • smarty 3开发者邮件组