smarty基础原理

smarty基础原理php

1、html模板页面html

复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<div>{$title}</div>
<div>{$content}</div>
</body>
</html>
复制代码

2、PHP后台代码数据库

复制代码
<?php
//链接数据库,得到具体数据

//1.引入迷你smart
require ("minismart.class.php");
//2实例化Smarty对象
$smarty=new minismart();
//将字符串信息设置为模板引擎类的属性信息
$smarty->assign("title","qqq");
$smarty->assign("content","aa");

//3调用compile方法,同时传递ceshi.html模板文件参数
//在该方法中把ceshi.html内部标记替换为php标记
$smarty->compile("ceshi.html");
复制代码

3、模板引擎ui

复制代码
<?php
//模板引擎类
class minismart 
{  
    //给该类声明属性,用于储存外部的变量信息
    public $tpl_var=array();
    //把外部变量设置成内部变量的一部分
    function assign($k,$v)
    {
     $this->tpl_var[$k]=$v;
    }

     //"编译模板文件({}标记替换为php标记)"
    function compile ($tpl) //compile编译
    {  //得到模板文件内部具体内容
       $cont= file_get_contents($tpl);//file_get_contents()获取内容
     
    
    //替换 { ---> <?php echo $this->tpl_var["
    $cont=str_replace("{\$","<?php echo \$this->tpl_var[\"",$cont);
    
    //替换 } --->"]; ? >
    $cont=str_replace("}","\"]; ?>",$cont);
      
    //把生成好的编译内容(php + html 混编内容)放入一个文件里面
    file_put_contents("./shili.html.php",$cont);
      //引入混编文件
    include ("./shili.html.php");
    }
    
}
复制代码

4、混编代码页面this

复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<div><?php echo $this->tpl_var["title"]; ?></div>
<div><?php echo $this->tpl_var["content"]; ?></div>
</body>
</html>
复制代码
相关文章
相关标签/搜索