Smarty使用自定义资源的方法
本文实例讲述了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程序设计有所帮助。
相关推荐
-
smarty自定义函数htmlcheckboxes用法实例
本文实例讲述了smarty自定义函数htmlcheckboxes用法.分享给大家供大家参考.具体如下: 访问文件:index.php: 复制代码 代码如下: <?php require_once('libs/Smarty.class.php'); $smarty = new Smarty(); $smarty->setTemplateDir($_SERVER['DOCUMENT_ROOT']."/php/templates/"); $smarty->setCompil
-
smarty+adodb+部分自定义类的php开发模式
前几天把热网的后台基本弄好,腾出时间对工作总结了一下. 在设计模式上,我尝试着使用mvc模式的开发.用smarty控制显示,用case语句控制各种action,然后写好各种模块的class给action调用.这样做的确对代码的控制强了一点,比如在class.message.php中写上getAllMsg()函数,那么这个函数就可以被许多action调用.再配上分页类.在对数据的处理上还算灵活. 复制代码 代码如下: $db=new Db; $sql="select * from co
-
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
本文实例讲述了自定义的min版smarty模板引擎MinSmarty.class.php文件.分享给大家供大家参考,具体如下: 一.smarty的优点 smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一.它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离.简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻
-
PHP模板引擎Smarty自定义变量调解器用法
本文实例讲述了PHP模板引擎Smarty自定义变量调解器用法.分享给大家供大家参考,具体如下: 在 PHP 中,有很多处理文本的函数,您可以把要处理的文本通过函数处理之后,再调用 Smarty 模板引擎中的 assign() 赋值给变量,分配到模板中进行显示. Smarty 中的变量调解器和 PHP 中处理文本的函数相似,不过语法不相同,在 Smarty 中,是通过 "|" 后面直接跟调解器函数名,如果有参数,得加在 ":" 后面,多个参数的话,累加即可. 格式:{
-
smarty自定义函数用法示例
本文实例讲述了smarty自定义函数用法.分享给大家供大家参考,具体如下: <?php require_once "smarty.config.php"; //自定义一个函数 //调用方法:<{test1 times="4" size="5" con="Hello,Liuyibao!" color="red"}> function test1($args){ $str="&quo
-
smarty模板引擎中自定义函数的方法
本文实例讲述了smarty 自定义函数方法,分享给大家供大家参考.具体如下: 本实例目的:输出 times 次 con的内容(输出4次hello world) 文件1: 复制代码 代码如下: <?php //创建smarty对象 require_once("./libs/Smarty.class.php"); $smarty = new Smarty(); //自定义一个函数 //说明:(1).$arr为一个数组:(2).tpl调用形式{test times="4&qu
-
Smarty使用自定义资源的方法
本文实例讲述了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 $sq
-
PHP实现创建微信自定义菜单的方法示例
本文实例讲述了PHP实现创建微信自定义菜单的方法.分享给大家供大家参考,具体如下: 在使用通用接口前,你需要做以下两步工作: 1.拥有一个微信公众账号,并获取到appid和appsecret(在公众平台申请内测资格,审核通过后可获得) 2.通过获取凭证接口获取到access_token 注意: access_token是第三方访问api资源的票据: access_token对应于公众号是全局唯一的票据,重复获取将导致上次获取的access_token失效. 访问下面这个地址(注意替换你的appi
-
Yii视图操作之自定义分页实现方法
本文实例讲述了Yii视图操作之自定义分页实现方法.分享给大家供大家参考,具体如下: 1. 视图文件调用cgridview,clistview时候调用自定义的分页方法 <?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'news-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'template'=>'{items}{su
-
thinkPHP自定义类实现方法详解
本文实例讲述了thinkPHP自定义类实现方法.分享给大家供大家参考,具体如下: 1.通过Model调用 <?php /** * 积分模型 api接口 */ class ApiModel{ private $url = 'http://js.yunlutong.com/Customer/Interface'; public function test() { $post_data['action'] = 'sadf'; $post_data['callback'] = '?'; $res = r
-
Android实现在ServiceManager中加入自定义服务的方法详解
本文实例讲述了Android实现在ServiceManager中加入自定义服务的方法.分享给大家供大家参考,具体如下: 当我们要使用android的系统服务时,一般都是使用Context.getSystemService方法.例如我们要获取AudioManager,我们可以: AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 获取的服务,其实是在ServiceManager中注册的Binder服务,
-
Yii框架实现记录日志到自定义文件的方法
本文实例讲述了Yii框架实现记录日志到自定义文件的方法.分享给大家供大家参考,具体如下: 默认情况下,Yii::log($msg, $level, $category)会把日志记录到runtime/application.log文件中 日志格式如下: [时间] - [级别] - [类别] - [内容] 2013/05/03 17:33:08 [error] [application] test 但有时候需要把某些特定的日志放到特定的文件中,比如交易失败的日志,需要和其他日志区分开来单独记录. 在
-
Android编程自定义菜单实现方法详解
本文实例讲述了Android编程自定义菜单实现方法.分享给大家供大家参考,具体如下: 在android开发的过程中系统自带的菜单往往满足不了开发中的一些需求,比如说一排最多只能放置三个菜单,坐多只能放置6个,再多的话就会折叠起来,如果我们想再一排显示4个或5个菜单那么就要自己想办法处理. 这里我用布局的隐藏并加上动画来模拟菜单的效果. 要点: 1.隐藏和显示菜单,我使用了一个线性布局把菜单封装起来. <?xml version="1.0" encoding="utf-8
-
CI框架实现创建自定义类库的方法
本文实例讲述了CI框架实现创建自定义类库的方法.分享给大家供大家参考,具体如下: 当我们使用 "类库" 这个词的时候,通常我们指的是位于 libraries 这个目录下的那些类. 接下来我们将介绍 如何在 application/libraries 目录下创建你自己的类库,和全局的框架类库独立开来. 另外,如果你希望在现有的类库中添加某些额外功能,CodeIgniter 允许你扩展原生的类, 或者你甚至可以在你的 application/libraries 目录下放置一个和原生的类库同
-
Java使用 try-with-resources 实现自动关闭资源的方法
1. 在Java1.7之前,我们需要通过下面这种方法, 在finally中释放资源,这种方法有点繁琐. BufferedReader br = null; String str; try { br = new BufferedReader(new FileReader("")); while ((str = br.readLine()) != null) { System.out.println(str); } } catch (IOException e) { e.printStac
-
C# WPF 自定义按钮的方法
本文介绍WPF一种自定义按钮的方法. 实现效果 使用图片做按钮背景: 自定义鼠标进入时效果: 自定义按压效果: 自定义禁用效果 实现效果如下图所示: 实现步骤 创建CustomButton.cs,继承自Button: 创建一个资源文件ButtonStyles.xaml: 在资源文件中设计按钮的Style: 在CustomButton.cs中添加Style中需要的依赖属性: 在程序中添加资源并引用(为了方便在不同的程序中引用自定义按钮,自定义按钮放在独立的类库中,应用程序中进行资源合并即可). 示
随机推荐
- 简化版手机端照片预览组件
- 关于tomcat的server.xml里host节点配置的一些说明
- IOS 开发之数据存储writeToFile的应用实例
- ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
- ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现
- kvm中使用console命令记录的方法
- CodeIgniter配置之database.php用法实例分析
- php中static 静态变量和普通变量的区别
- python分析网页上所有超链接的方法
- vue axios用法教程详解
- javascript操作cookie方法函数集合第1/2页
- Javascript拓展String方法小结
- Jquery使用val方法读写value值
- JavaScript获取和设置CheckBox状态的简单方法
- 探讨GDFONTPATH能否被winxp下的php支持
- 使用Maven Helper解决Maven插件冲突的方法
- Opencv使用鼠标任意形状的抠图
- 详解Python3.6安装psutil模块和功能简介
- java实现汽车租赁系统
- 详解Python循环作用域与闭包