Smarty使用自定义资源的方法


Posted in PHP onAugust 08, 2015

本文实例讲述了Smarty使用自定义资源的方法。分享给大家供大家参考。具体如下:

<?php
// put these function somewhere in your application
function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj)
{
 // do database call here to fetch your template,
 // populating $tpl_source
 $sql = new SQL;
 $sql->query("select tpl_source
   from my_table
   where tpl_name='$tpl_name'");
 if ($sql->num_rows) {
 $tpl_source = $sql->record['tpl_source'];
 return true;
 } else {
 return false;
 }
}
function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj)
{
 // do database call here to populate $tpl_timestamp.
 $sql = new SQL;
 $sql->query("select tpl_timestamp
   from my_table
   where tpl_name='$tpl_name'");
 if ($sql->num_rows) {
 $tpl_timestamp = $sql->record['tpl_timestamp'];
 return true;
 } else {
 return false;
 }
}
function db_get_secure($tpl_name, &$smarty_obj)
{
 // assume all templates are secure
 return true;
}
function db_get_trusted($tpl_name, &$smarty_obj)
{
 // not used for templates
}
// register the resource name "db"
$smarty->register_resource("db", array("db_get_template",
     "db_get_timestamp",
     "db_get_secure",
     "db_get_trusted"));
// using resource from php script
$smarty->display("db:index.tpl");
?>

希望本文所述对大家基于smarty的php程序设计有所帮助。

PHP 相关文章推荐
PHP模板引擎SMARTY
Oct 09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
收藏的一个php小偷的核心程序
Apr 09 PHP
php中Smarty模板初体验
Aug 08 PHP
解析php取整的几种方式
Jun 25 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
Jul 14 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
PHP实现的数组和XML文件相互转换功能示例
Mar 15 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
PHP后门隐藏的一些技巧总结
Nov 04 PHP
SESSION存放在数据库用法实例
Aug 08 #PHP
摘自织梦CMS的HTTP文件下载类
Aug 08 #PHP
摘自织梦CMS中的图片处理类
Aug 08 #PHP
PHP模拟asp.net的StringBuilder类实现方法
Aug 08 #PHP
php自动识别文字编码并转换为目标编码的方法
Aug 08 #PHP
PHP模拟asp中response类实现方法
Aug 08 #PHP
PHP实现根据图片色界在不同位置加水印的方法
Aug 08 #PHP
You might like
PHP 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
js获取当前日期前七天的方法
2015/02/28 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
2018/07/05 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
vue实现导航菜单和编辑文本的示例代码
2020/07/04 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
Python 将RGB图像转换为Pytho灰度图像的实例
2017/11/14 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
html5唤起app的方法
2017/11/30 HTML / CSS
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
财务与信息服务专业推荐信
2013/11/28 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书