PHP Smarty配置类

PHP Smarty配置类——封装Smarty配置,Smarty模板配置类的作用是载入Smarty类库,完成Smarty应用前的配置工作,包括设置模板文件存储路径、编译文件存储路径、缓存文件存储路径、配置文件存储路径和是否开启视图缓存。

PHP Smarty配置类 语法

require("libs/Smarty.class.php");                           //包含Smarty.class.php 文件,从而导入Smarty 类库
class SmartyProject extends Smarty{                         //编写SmartyConfig 类,使其继承自Smarty 类
     function SmartyProject(){                              //构造方法
          this->template_dir = "./system/templates/";      //指定模板文件存储位置this->compile_dir = "./system/templates_c/";     //指定编译文件存储位置
          this->config_dir = "./system/configs/";          //指定配置文件存储位置this->cache_dir = "./system/cache/";             //指定缓存文件存储位置
     }
}

PHP Smarty配置类 示例

本示例使用Smarty模板配置类配置Smarty模板,实现网页的动静分离

本示例使用Smarty模板配置类配置Smarty模板,实现网页的动静分离。对PDO分页类中典型应用的实例实现网页的动静分离,即实现分页操作的执行代码与分页输出的HTML代码进行分离。其关键步骤如下:

(1)封装Smarty模板配置类。载入Smarty类库,编写SmartyConfig类,使其继承Smarty类,通过构造方法定义模板文件、编译文件、配置文件和缓存文件的存储位置。
(2)创建system.inc.php文件,实现类的实例化操作。其关键代码如下:

<?php
require("system.class.inc.php");                         //包含数据库连接和操作类
require("system.smarty.inc.php");                        //包含Smarty 模板配置类
connobj=new ConnDB("mysql","localhost","root","111","db_business");
                                                         //数据库连接类实例化conn=connobj->GetConnId();                             //执行连接操作,返回连接标识admindb=new AdminDB();                                  //数据库操作类实例化
seppage=new SepPage();                                  //分页类实例化smarty=new SmartyProject();                             //调用Smarty 模板
?>

(3)创建index.php文件,载入类的实例化文件,调用分页类中的方法完成数据库中数据的分页查询,并且将结果集赋给模板变量,最终指定模板页。其关键代码如下:

<?php
require("system/system.inc.php");                        //包含配置文件
if(isset(_GET['page'])){                                //定义分页变量page=_GET['page'];
}else{page=1;
}
sql =seppage->ShowData("select * from tb_commo order by sell,id desc",conn,2,page);
//执行分页查询操作
smarty->assign("hotarr",sql);                          //将查询结果赋给模板变量
smarty->assign('rst1_page',seppage->ShowPage("产品","个",_GET['page'],'',"a"));
                                                         //将分页超级链接赋给模板变量smarty->assign('title','Smarty 模板的动静分离');         //定义网页标题
$smarty->display("index.html");                          //指定模板页
?>

(4)创建模板文件index.html,通过Smarty模板中的section语句循环输出模板变量传递的结果集,并且输出分页超级链接。其关键代码如下:

{section name=hot_id loop=hotarr}
    <table width="636" height="134" border="0" cellspacing="0" cellpadding="0">
       <tr>
        <td width="145" rowspan="5" align="center" valign="middle"><img src=
        "{hotarr[hot_id].pics}" width="90" height="100" alt="{hotarr[hot_id].name}"
        style="border: 1px solid #f0f0f0;" /></td>
        <td height="35">商品名称:{hotarr[hot_id].name}</td>
        <td width="156" height="35">商品类别:{hotarr[hot_id].class}</td>
        <td width="157">商品型号:{hotarr[hot_id].model}</td>
       </tr>
…//省略了部分代码!
      </table>
    <hr style="border: 1px solid #f0f0f0;" />
{/section}

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程