smarty原理

<?php

class smarty
{
    public $leftlimit = "<{";  //定义左分隔符
    public $rightlimit = "}>";  // 定义右分隔符
    public $attr;    //存放smarty里面的变量信息的数组

    //注册变量(将变量存放到arrt数组里面去)
    function assign($k,$v)
    {
        $this->attr[$k]=$v;//往数组里面存放一个值v,索引是k

    }
    //显示模板
    function display($name)  //$name就是模板的名称
    {
        //造模板的路径
        $filename = $mubanlujing.$name;//相当于index.html的文件
        //获取模板的内容
        $str = file_get_contents($filename);//读取出来是个字符串,存放在str里

        /*<html>
        <head></head>
        <body>
        <div>{$aa}</div>
        </body>
        </html>*/

        //用正则去匹配字符串中出现的{}里的内容
        //将内容读取(读取到的是数组里面的k),拿key去数组attr里面取value值
        /*<html>
        <head></head>
        <body>
        <div><?php echo $attr[key] ?></div>//经过上面的步骤后读取到的是这种形式
        </body>
        </html>*/

        //将str里面的内容存储在缓存文件里面
        file_put_contents($filename,$str);//将str存储在filename里
        //将存储的文件加载到当前页面
        include(filename);

    }

}

时间: 2024-11-04 07:29:40

smarty原理的相关文章

框架开发(三)---smarty整合

一 smarty 是什么 Smarty是一个PHP的模板引擎.更明确来说,它可以帮助开发者更好地 分离程序逻辑和页面显示.最好的例子,是当程序员和模板设计师是不同的两个角色的情况,而且 大部分时候都不是同一个人的情况.smarty 从开发层面上保证了程序员的"单一职责性Single"和"接口隔离 Interface Separate",PHP程序员更集中于逻辑处理,前端程序员更集中于页面展示.程序员修改业务逻辑不会影响前台显示,页面工程师修改页面不会影响逻辑. 二

smarty模板原理

smarty模板原理 模板主要是用来让前端和后端分离的,前台页面只是一个前台页面,后台页面用php代码写逻辑,写完逻辑拿到前台显示. 一.写法 一般需要以下:写3个页面: 1.显示页面aa.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htm

12月13日上午Smarty模版原理

模板主要是用来让前端和后端分离的,前台页面只是一个前台页面,后台页面用php代码写逻辑,写完逻辑拿到前台显示. 一.写法 一般需要以下:写3个页面: 1.显示页面aa.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&qu

smarty模板引擎原理解析

//php 控制器文件 <?php//引入模板引擎文件include("20130304.php");$smarty = new TinySmarty();$qq_numbers=array('a1'=>'12333','a2'=>'2222222','a3'=>'333333','a4'=>'3333333');$smarty->assign($qq_numbers);$smarty->assign('title','这是我的QQ号码');$

php+Smarty生成静态页原理,论坛里好多朋友都在问我这个问题。不懂的进来看下

其实用Smarty生成静态页我个人感觉比缓存生成静态页还要简单. 主要用到Smarty的这个方法 $Smarty->fetch("模板名") 这个函数用法很简单,和$Smarty->display("模板名") 是一样的. 不同的是$Smarty->fetch("模板名") 是把模板替换后的内容返回 而$Smarty->display("模板名")是直接输出也可以说是显示出来. 我们用$Smarty-&

php模板原理PHP模板引擎smarty模板原理浅谈

mvc是开发中的一个伟大的思想,使得开发代码有了更加清晰的层次,让代码分为了三层各施其职.无论是对代码的编写以及后期的阅读和维护,都提供了很大的便利. 我们在php开发中,视图层view是不允许有php代码来操作数据库之类的来获取数据的,我们一般都会在控制器层controller,就已经把视图层要展示的数据准备好,方便视图层直接用来展示. smarty模板技术,可以让数据和视图进行分离,让视图中不能直接出现php代码.这样的话,让前段页面的开发和后台数据的开发,可以双管齐下,同时进行了. sma

smarty(原理概述)

转自:http://www.cnblogs.com/RightDear/archive/2012/11/06/2756218.html smarty(模板引擎,模板技术) 使用smarty主要是为了实现逻辑和外在内容的分离: 特点: 1.速度快(因为第二次执行的时候使用第一次执行时生成的编译文件) 2.缓存技术(正是因为缓存技术,使得smarty模板技术不太适合那些对于实时性更新要求比较高的,比如股票信息) 3.插件技术 4.缓存技术 5.语句自由静态页面技术实际上是以空间换时间的技术: htt

Smarty模版引擎的原理

Smarty是一个使用php写出来的模版引擎,用来将原本与html代码混杂在一起PHP代码逻辑分离,实现前后端分离. 待续...

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=&qu