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>

时间: 2024-10-28 09:25:14

smarty基础原理的相关文章

Linux高可用集群方案之heartbeat基础原理及逻辑架构

 这篇文章我们主要学习heartbeat高可用集群的基础原理及逻辑架构,以及heartbeat的简单配置  ll  本文导航    · heartbeat之基本原理   · heartbeat之集群组件   · heartbeat之心跳连接   · heartbeat之脑裂(资源争用.资源隔离) · heartbeat之配置文件   · heartbeat至高可用集群配置  ll  要求  掌握heartbeat高可用集群的相关组件及简单配置   heartbeat之基本原理  heartbea

49 Linux操作系统原理、虚拟化技术基础原理

04 虚拟化技术基础原理 一.配置虚拟化网络 1.编辑配置文件 #关闭NetworkManager [[email protected] ~]# service NetworkManager stop [[email protected] ~]# chkconfig NetworkManager off    [[email protected] ~]# chkconfig --list NetworkManager NetworkManager  0:关闭  1:关闭  2:关闭  3:关闭

web socket and web worker 基础原理及使用

个人认为HTML5最吸引人的两大功能, web socket 和 worker为构建高效能的web应用提供了新的参考方案. 大体来说,web socket提供更高效的传输协议,web worker提供多线程提高web应用计算效率.最近项目有用到,对应两个问题的解决,目前运行效果来看还是很不错. 这里主要是总结这两个技术的基础原理,和常用API.备忘,也列举关键掌握点,入门和基础使用足以. Web Socket websocket是一种协议,本质上和http,tcp一样.协议是用来说明数据是如何传

核花宝典之脑功能成像(fMRI)基础原理

首发于Jinaffe长璟鹿的医学影像小漫画 关注专栏 写文章 核花宝典之脑功能成像(fMRI)基础原理 Jinaffe长璟鹿 4 个月前 我们只看图,不说话... ... 医学科普漫画 4 收藏 分享 举报 文章被以下专栏收录 Jinaffe长璟鹿的医学影像小漫画 不会画小漫画的女博士不是好的长颈鹿呀 进入专栏 2 条评论 写下你的评论 取消评论 筱贰获 长璟鹿姐姐好有才呀~~~ 0 赞 3 个月前 回复赞 举报 王善诚 题主自己画的吗?挺有才 0 赞 16 天前 回复赞 举报 推荐阅读 核花宝

X-ray/CT成像基础原理

首发于Jinaffe长璟鹿的医学影像小漫画 关注专栏 写文章 X-ray/CT成像基础原理 Jinaffe长璟鹿 5 个月前 我们只看图,不说话... ... 医学影像科普漫画 16 收藏 分享 举报 文章被以下专栏收录 Jinaffe长璟鹿的医学影像小漫画 不会画小漫画的女博士不是好的长颈鹿呀 进入专栏 15 条评论 写下你的评论 取消评论 叶茂青 这字看着真心累 0 赞 5 个月前 回复赞 举报 长胜兄 MRI呢 0 赞 5 个月前 回复赞 举报 查看对话 Jinaffe长璟鹿(作者)回复叶

第三十三天 LVS基础原理、调度算法、NAT和DR的实现 、LXC虚拟化

大规模站点构建框架 LVS的基础原理 LVS调度方法及NAT模型的实现 LVS  dr模型及lxc虚拟化 一.大规模站点架构框架 http: stateless keep-alive cookie: session 系统的:可扩展性.高可用性:99%, 99.9%, 99.999% .性能: 可扩展性: 容量:在一定时间内能完成的工作量 scale up: 向上扩展 scale out: 向外扩展 Cluster: 集群 构建高可扩展性系统的重要原则:在系统内部尽量避免串行化和交互 调度器:di

6月3 Smarty基础读取配置

Smarty百科 Smarty是一个php模板引擎.更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同一个人.例如,你正在创建一个用于浏览新闻的网页,新闻标题,标签栏,作者和内容等都是内容要素,他们并不包含应该怎样去呈现.在Smarty的程序里,这些被忽略了.模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等).有一天程序员想要改

28_1_iptables系列之基础原理

iptables/netfilter:工作在linux内核中的网络防火墙,是一组工具.    netfilter:正真起作用的是netfilter,它是一个框架:    iptanles:是生成防火墙规则,并且将其附加在netfilter上真正实现数据报文过滤.nat.mangle等规则生成的工具. 1.一些网络知识:   ip报文首部,Tcp报文首部   事实上,网络防火墙的主要功能是根据报文首部实现的.(1)ip报文首部:   0:版本号(4),IP首部大小[结果*4](4),服务类型(8)

Web Service 之 http基础原理

Web Service 之 http基础原理 ========================================================================= 概述: 网络通信基础 ★进程间通信:IPC Socket(套接字):ip:port ★Client <--> Server Server: listen(监听状态,表示服务器正在等待新的传输链接进入) Client: ★客户端与服务器间通信实际上是客户端套接字和服务器端套接字间通信 IP:PORT(Cl