介绍smarty模板

 更新时间:2016年11月25日 16:33  点击:1536
PHP代码:--------------------------------------------------------------------------------
以下的介绍是基于2.5版的,也不知有BUG没,OS是win2000,php应该
4.1以后的就可以。,兄弟只是开发时使用过几次,没太深的研究,
介绍的在手册上都能找到,如果有错误之处难免多包涵吧
smarty模板据说是php.net推荐使用的,据说功能比较强,据说速度
也不慢,据说用的人越来越多<img src="images/smilies/biggrin.gif" border="0" alt="">
官方网站smarty.php.net上面有论坛,有下载,有手册。有你想要的一切,切入正题:
(-)安装:
下载的包解压后有三个下级目录:模板文件目录是<libs> 其下有四个类文件一个目录.首先介绍最重要的:Smarty.class.php它应该是整个smarty模板的核心类,平时应用时也是跟它打交道,在你的应用程序目录下建立以下目录结构:
/app_1/smarty/libs
/app_1/smarty/templates_c
/app_1/smarty/templates
/app_1/smarty/configs
<libs>对应压缩包下的libs目录下面放smarty需要的类文件
<templates>存放模板文件,程序用到的模板文件都放这里
<configs>存放模属性文件,以后详细说
<templates_c>存放"编译"后的模板文件,以后详细说,些目录需要设为777
<cache>存放缓存的模板文件
以上文件名为smarty默认的文件名,用户可以指定不同的文件名,如:guest_template_dir,admin_template_dir 等.如果不指定将使用以上文件名
(二)使用:
设计模板:
1模板变量:{$变量名},如 {$color},{$type}
test_color.tpl
<font color={$color}>{$name}</font>
test_url.tpl
<a href="{$url}" target="{$target}">{$title}</a>
2也可以使用模板数组
test_array.tpl
{people.name}<br>
{people.sex}<br>
{people.money}<br>
3模板使用区块列表
如:
user1 user1_sex user1_money
user2 user2_sex user2_money
user3 user3_sex user3_money
section.tpl
可以用表格格式化:
<TABLE>
{section name=user loop=$userList}
<TR>
<TD>{$userList[user].name}</TD>
<TD>{$userList[user].sex}</TD>
apache 字符集 GB 2312
mysql 字符集 GBK
现要从 mysql 中提出信息(GBK) 写入到 XML 中
XML中的编码格式是 UTF-8
那么,如何将GBK编码成 UTF8 ??
详细介绍:
前一阵子见到了qiushuiwuhen君的关于gbk,unicode,big5的转换的文章
但是多少有一些不太大的问题
于是我设计了一个负责字符转换的类,修正了其中的一些不足,增加了部分功能,以后我会不断扩充该类,来支持更多的字符集
增加了如下几点:
unicode->gbk 符号部分的转换
欧元符(
pfcTemplate 主要特点
1. 高效率
因为程序中分析变量、区块时没有采用正规表达式去做,而采用PHP内置字符串
处理函数来做,所以效率可能会稍高于同类产品
2. 易用性
使用此类只需简单的 创建类实例 -> 添加文件 -> 设置变量/区块 -> [如果有区块则解析]
-> 解析文件 就可以完成. 采用常用的命名方式, 提供通俗易懂的API接口方法.
3. 多级区块处理
通过程序的多级区块处理功能可以实现很多复杂的效果, 可以进行无限层次的套嵌(机器性能允许)
4. 可处理多种来源的模板
模板不一定要做成文件, 可以是来自数据库或其它来源.
$str = read_template_string();
$tpl->set_string('handle1', $str);
5. 变量可定制性
模板中的标识符是可以自行调整的.
如: 将简单变量的标识符定制为 "{/var
刚在网上找的一个类。点击下载类文件(zip压缩文件,2.25K)
$z = new PHPZip(); //新建立一个zip的类
  方法一:
$z -> Zip("", "out1.zip"); //添加当前目录和子目录下的所有档案
  方法二:
$files=array('1.txt','gb.txt');
$files[]='5.txt';
$z -> Zip($files, "out2.zip"); //添加文件列表
  方法三:
$z -> Zip("/usr/local/sext/", "out3.zip"); //添加指定目录
第一页内随机的产生一个数(0-15)-》dechex()保存在session内
然后将URL使用此标记进行运算,随便你运算了,不过要能逆过来才行~
第二页则检测是否有此标记,有则进行逆运算,然后将变量取出
优点:(必须访问站点URL才有效~)
缺点:(保存到本地的页面链接全部失效,盗链失效)
---------------------------------------------
<?php
ob_start();
session_start();
if(isset($_SESSION[key]))else{          //无钥匙
    $key=dechex(rand(0,15));    //产生钥匙
    //如果您本页已经是最后一页,而不允许盗链的链接的话
    //echo "您的链接并非来自本站!请访问站点后访问此页...";
    //exit();
}
?>
HTML内容..............(这里包含很多链接的...)
<?php
$htmlcontent=ob_get_contents();        //获取所有HTML内容
...............................        //替换所有连接参数href=url?被替换的数据(一组正则)
ob_end_flush();           //输出HTML内容(href=已经加密后的数据)
?>

[!--infotagslink--]

相关文章

  • 深入解析WordPress中加载模板的get_template_part函数

    这篇文章主要介绍了WordPress中加载模板的get_template_part函数,其中重点讲解了其函数钩子的使用,需要的朋友可以参考下...2016-01-14
  • mysql配置模板(my-*.cnf)参数详细说明

    mysql安装成功后有几个默认的配置模板,列表如下: my-huge.cnf : 用于高端产品服务器,包括1到2GB RAM,主要运行mysql my-innodb-heavy-4G.ini : 用于只有innodb的安装,最多有4GB RAM,支持大的查询和低流量 my-large.cnf : 用于...2015-03-15
  • 浅析Promise的介绍及基本用法

    Promise是异步编程的一种解决方案,在ES6中Promise被列为了正式规范,统一了用法,原生提供了Promise对象。接下来通过本文给大家介绍Promise的介绍及基本用法,感兴趣的朋友一起看看吧...2021-10-21
  • Smarty模板学习笔记之Smarty简介

    1、简介Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目...2014-05-31
  • Ionic默认的Tabs模板使用实例

    这篇文章主要为大家详细介绍了Ionic默认的Tabs模板使用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-09-01
  • Springboot使用thymeleaf动态模板实现刷新

    这篇文章主要介绍了Springboot使用thymeleaf动态模板实现刷新,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-31
  • PHP中print_r、var_export、var_dump用法介绍

    文章详细的介绍了关于PHP中print_r、var_export、var_dump区别比较以及这几个在php不同的应用中的用法,有需要的朋友可以参考一下 可以看出print_r跟var_export都...2016-11-25
  • Framewrok7 视图介绍(views、view)使用介绍

    下面我们来看一篇关于Framewrok7 视图介绍(views、view)使用介绍吧,希望这篇文章能够帮助到各位朋友。 一、Views 与View的介绍 1,Views (<div class="views">) (1)Vi...2016-10-02
  • WordPress中获取所使用的模板的页面ID的简单方法

    这篇文章主要介绍了WordPress中获取所使用的模板的页面ID的简单方法,通过这个方法来获取页面的链接是比较方便的,需要的朋友可以参考下...2016-01-04
  • Monolog PHP日志类库使用详解介绍

    PHP日志类库在低版本中我们都没有看到了但在高版本的php中就有了,下面我们来看一篇关于PHP日志类库使用详解介绍吧. Monolog遵循PSR3的接口规范,可以很轻易的替换...2016-11-25
  • php获取当前url地址的方法介绍

    这篇文章介绍了php获取当前url地址的方法小结,有兴趣的同学可以参考一下 本文实例讲述了php获取当前url地址的方法。分享给大家供大家参考,具体如下: js 获取: ...2017-01-22
  • IDEA2020.3.2版本自动注释类和方法注释模板配置步骤详解

    这篇文章主要介绍了IDEA2020.3.2版本自动注释类和方法注释模板配置步骤,本文给大家分享了我自己创建过程通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-31
  • PHP-GTK 介绍及其应用

    1. PHP-GTK介绍 1.1 PHP-GTK PHP-GTK是PHP的延伸模组,它可以让程式设计师写出在客户端执行的、且独立的GUI的程式。这个模组不允许在浏览器上显视GTK+的程式,它一开始就...2016-11-25
  • java使用Abobe Acrobat DC生成模板

    这篇文章主要介绍了java使用Abobe Acrobat DC生成模板,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下...2021-04-22
  • PHP 获取文件目录权限函数fileperms介绍

    在php中要获取或目录权限我们可使用fileperms函数来获取,fileperms() 函数返回文件或目录的权限,。若成功,则返回文件的访问权限。若失败,则返回 false。 例子 1 ...2016-11-25
  • 不错的mod_perl编程的简单应用实例介绍

    介绍性指南 mod_perl 是个庞大而复杂的工具,它内建了许多模块帮助你方便地构建动态网站。这篇指南的目的是帮助你构建一个良好的 mod_perl 模块,并从中理解 mod_perl 的实现...2020-06-29
  • php设置时区方法介绍

    php默认时区是欧美国家的所以与我们中国时区相差了整整8小时哦,下面我来给各位介绍php设置时区方法,有需要了解的朋友可进入参考。 在 php.ini 中,默认是 date.timez...2016-11-25
  • OpenCart网站迁移步骤详细介绍

    OpenCart是国外著名的开源电子商务系统,由英国人Daniel一人独立开发,其社区非常活跃,由各国网友翻译出来的语言包已经达到18种,其中包括中文,俄文,法文,西班牙文,德文等等,下面...2016-10-10
  • Mysql创建数据库和独立数据库帐号方法介绍

    本文章来给各位同学介绍phpMyadmin创建Mysql数据库及独立数据库帐号建立,如果你不会mysql命令来创建数据库之类的我们可以使用phpmyadmin来完成哦。 phpMyadmin创...2016-11-25
  • css的选择器的详细介绍

    选择器是可以选择指定那个样式了,今天我们来看一篇关于选择器的一个用法,希望这篇文章能够帮助到各位理解到css的选择器了,具体的细节如下文介绍。 前言 css选择器,是...2016-10-10