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 相关文章推荐
基于Snoopy的PHP近似完美获取网站编码的代码
Oct 23 PHP
PHP语言中global和$GLOBALS[]的分析 之二
Feb 02 PHP
精美漂亮的php分页类代码
Apr 02 PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 PHP
实用的简单PHP分页集合包括使用方法
Oct 21 PHP
基于PHP生成简单的验证码
Jun 01 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
PHP基于Closure类创建匿名函数的方法详解
Aug 17 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 PHP
laravel实现前后台路由分离的方法
Oct 13 PHP
php查看一个变量的占用内存的实例代码
Mar 29 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
牡丹941资料
2021/03/01 无线电
PHP中英混合字符串截取函数代码
2011/07/17 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
php注册登录系统简化版
2020/12/28 PHP
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
jQuery 选择器理解
2010/03/16 Javascript
javascript中的对象创建 实例附注释
2011/02/08 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
2017/10/19 jQuery
vue2中使用less简易教程
2018/03/27 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
Python进阶篇之字典操作总结
2016/11/16 Python
Python爬虫代理IP池实现方法
2017/01/05 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
python speech模块的使用方法
2020/09/09 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
节约粮食标语
2014/06/18 职场文书
文明好少年事迹材料
2014/08/19 职场文书
国庆促销活动总结
2014/08/29 职场文书
法定代表人证明书
2014/11/28 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android