smarty模板的使用方法实例分析
框架(架构)  /  管理员 发布于 7年前   128
本文实例讲述了smarty模板的使用方法。分享给大家供大家参考,具体如下: 这里以smarty3为例 首先, 在官网下载smarty3模板文件,然后解压。 在解压之后的文件夹中,libs是smarty模板的核心文件,demo里面有示例程序。 我们把libs文件夹复制到我们的工作目录,然后重命名为smarty。 假设我们在controller目录下的index.php中使用smarty模板。 index.php 模板文件index.htmldebugging = false; //开启debug模式$smarty->caching = true; //开启缓存$smarty->cache_lifetime = 120; //缓存时间$smarty->left_delimiter = '<{'; //左定界符$smarty->right_delimiter = '}>'; //右定界符$smarty->template_dir = __DIR__.'/../view/'; //视图目录$smarty->compile_dir = __DIR__ . '/../smarty/compile/'; //编译目录$smarty->config_dir = __DIR__ . '/../smarty/configs/'; //配置目录$smarty->cache_dir = __DIR__ . '/../smarty/cache/'; //缓存目录$list = range('A', 'D');$smarty->assign("list", $list);$smarty->assign("name", "zhezhao");$smarty->display('index.html');
<{$name}>
上述方法的优点是使用起来配置比较简单,缺点也是显而易见的,我们controller目录下可能有很多页面调用smarty模板,在每个页面都需要将上述方法配置一遍。
解决方法有两种:
将smarty模板的配置信息写到一个文件中,然后其他页面可以通过包含该文件使用smarty对象。
require '../smarty/Smarty.class.php';$smarty = new Smarty;$smarty->debugging = false; //开启debug模式$smarty->caching = true; //开启缓存$smarty->cache_lifetime = 120; //缓存时间$smarty->left_delimiter = '<{'; //左定界符$smarty->right_delimiter = '}>'; //右定界符$smarty->template_dir = __DIR__.'/../view/'; //视图目录$smarty->compile_dir = __DIR__ . '/../smarty/compile/'; //编译目录$smarty->config_dir = __DIR__ . '/../smarty/configs/'; //配置目录$smarty->cache_dir = __DIR__ . '/../smarty/cache/'; //缓存目录
我们自己编写一个类,继承自Smarty类,然后将配置信息写在构造函数中。
我们编写mySmarty类
debugging = false; //开启debug模式 $this->caching = true; //开启缓存 $this->cache_lifetime = 120; //缓存时间 $this->left_delimiter = '<{'; //左定界符 $this->right_delimiter = '}>'; //右定界符 $this->setTemplateDir(__DIR__.'/../view/'); //视图目录 $this->setCompileDir(__DIR__ . '/../smarty/compile/'); //编译目录 $this->setConfigDir(__DIR__ . '/../smarty/configs/'); //配置目录 $this->setCacheDir(__DIR__ . '/../smarty/cache/'); //缓存目录 }}
此时,controller里面的index.php代码可优化为:
assign("list", $list);$smarty->assign("name", "zhezhao");$smarty->display('index.html');
最后送上福利:smarty3 chm官方文档。
更多关于Smarty相关内容感兴趣的读者可查看本站专题:《smarty模板入门基础教程》、《PHP模板技术总结》、《PHP基于pdo操作数据库技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号