smarty基础原理
smarty基础原理
一、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>

二、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");

三、模板引擎

<?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");
} }

四、混编代码页面

<!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>

smarty基础原理的更多相关文章
- I2C 基础原理详解
今天来学习下I2C通信~ I2C(Inter-Intergrated Circuit)指的是 IC(Intergrated Circuit)之间的(Inter) 通信方式.如上图所以有很多的周边设备都 ...
- smarty模板原理
smarty模板原理 模板主要是用来让前端和后端分离的,前台页面只是一个前台页面,后台页面用php代码写逻辑,写完逻辑拿到前台显示. 一.写法 一般需要以下:写3个页面: 1.显示页面aa.htm ...
- C#基础原理拾遗——引用类型的值传递和引用传递
C#基础原理拾遗——引用类型的值传递和引用传递 以前写博客不深动,只搭个架子,像做笔记,没有自己的思考,也没什么人来看.这个毛病得改,就从这一篇开始… 最近准备面试,深感基础之重要,奈何我不是计算机科 ...
- Smarty基础用法
一.Smarty基础用法: 1.基础用法如下 include './smarty/Smarty.class.php';//引入smarty类 $smarty = new Smarty();//实例化s ...
- OpenStack的基础原理
OpenStack的基础原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其 ...
- DNS服务基础原理介绍
FQDN 全称域名 localhost(主机名或者是别名).localdomain(域名) FQDN=主机名.域名 根域 . 顶级域名 .com .n ...
- Sql注入基础原理介绍
说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...
- 6月3 Smarty基础读取配置
Smarty百科 Smarty是一个php模板引擎.更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同 ...
- Macaca 基础原理浅析
导语 前面几篇文章介绍了在Macaca实践中的一些实用技巧与解决方案,今天简单分析一下Macaca的基础原理.这篇文章将以前面所分享的UI自动化Macaca-Java版实践心得中的demo为基础,进行 ...
随机推荐
- 13 memcache服务检查
[root@cache01 scripts]# vim mem_check.sh #!/bin/bash count_mem=$(netstat -lntup|grep memcached|wc -l ...
- 微信小程序 js逻辑
}) 页面 Page() 函数用来注册一个页面.接受一个 object 参数,其指定页面的初始数据.生命周期函数.事件处理函数等. data 页面的初始数据,data 将会以 JSON 的形式由逻辑层 ...
- dedecms安全篇:织梦文件夹目录权限设置
织梦各个目录安全详解 做织梦(dedecms)网站安全必看1.a 因为是静态目录,并且在要生成HTML的,所以拒绝脚本执行 允许写入2.data 因为是缓存等,所以充许写入,但是因为这里面 ...
- java collection 类图
转载:http://visionsky.blog.51cto.com/733317/371809/
- js压缩 uglify
grunt-contrib-uglify uglify是一个文件压缩插件,项目地址:https://github.com/gruntjs/grunt-contrib-uglify 本文将以一个DEMO ...
- [分享]JavaScript Quick Reference Card
pdf文件:https://files.cnblogs.com/files/MakeView660/JavaScript_Quick_Reference_Card.pdf
- Python 个人常用汇总
Python 常用文件操作总结: 导入库路径:sys.path.append('/usr/local/lib/python2.7/site-packages') from random import ...
- android 性能測试CTS篇
CTS介绍 一.CTS简单介绍 CTS 全称Compatibility Test Suite兼容性測试工具. 当电子产品开发出来.并定制了自己的Android系统后,必需要通过最新的CTS检測.以保证 ...
- ddos cc攻击简单介绍(转)
何为syn flood攻击: SYN Flood是一种广为人知的DoS(拒绝服务攻击)是DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻 ...
- Volley使用详细说明
前一篇粗略的介绍了一下Volley,并在最后附上了一段使用代码,这一篇详细的介绍一下Volley的使用.前面也说了Volley主要获取JSON对象和图片加载,这里也分为两部分介绍. 1.获取JSON对 ...