什么是smarty模版引擎

     什么是smarty?
        Smarty是采用php写的一个模版引擎,设计的目的是要将php代码与html代码分离,
        使php程序员只专注于php代码的编写,网页美工只专注于网页的美化
     没有模版引擎时出现的问题?
        html中php代码比重越来越大
        页面的数量越来越多
        程序设计与美工设计分工不明确
     传统的php文件:
        1. php代码跟html混编在一起,不利于程序员和美工的分工,程序员和美工不能同时修改一个文件
        2.数据的传递同一页面传递,php数据在页面中的显示需要使用php标记
            比如:<?php  echo $username?>
            index.php

 
     采用模版引擎后:
        1.    php代码与html代码分离开了,php代码放在一个单独的php文件中,html代码放在一个单独的html文件中
        2.    数据的传递首现php中的数据先给了模版引擎,然后模版引擎再把接收到的数据给模版文件显示。
        3.  模版文件中不再有php代码或者说php标记的出现,模版中显示的数据都是通过模版引擎的标记显示出来的
            index.php    smarty模版引擎    index.html
        
     目前php的模版引擎很多,为什么要使用smarty模版引擎?
        1.    一般的模版引擎,如,phplib   都是在建立模版对象时取得要解析的模版,然后把变量套入后,再通过parse()这个方法来解析模版,最后再将网页输出,总结成一句话,那句是每次执行的时候都要重新解析一遍
        2.    对于smarty模版引擎来说,不必在程序里再做parse()这样的操作了,smarty会自动帮我们做,而且已经编译过的网页,如果在没有改动的情况下,smarty会跳过重新编译的动作而直接去执行编译过的网页,以节省编译时间。
     
    Smarty的其它优点:
        1.    速度快:相对于其它的模版引擎而言的
        2.    编译型:采用smarty编写的程序在运行时会编译成一个非模版技术的php文件。这个文件采用了php与html混合的方式,在下一次访问模版时将web请求直接转换到这个文件中,而无需重新编译(在模版文件没有改动的情况下)
        3.    缓存技术:它可以将用户最终看到的html网页缓存成一个静态的html网页。当用户开启缓存时,可以设置缓存时间,在缓存文件没到期之前,将用户的请求直接转换到这个静态的缓存文件,相当于调用了一个静态的html文件。
        4.    模版中可以使用流程控制语句。
     
    不适合使用smarty的地方
        1.    需要实时更新的内容,例如:股票显示,它需要经常对数据进行更新
        2.    小项目。
    
    Smarty模版引擎运作流程。
        ①在php程序运行时,初始化smarty模版引擎
        ②smarty模版引擎读取模版文件(.html或tpl文件)
        ③在读取模版文件的时候,smarty模版引擎会自动判断该模版文件是否需要重新编译。
        ④如果不需要重新编译,则直接进行模版变量替换。
        ⑤如果是第一次执行此程序文件或者说模版被改动了,那么就需要重新编译后再进行模版变量替换。
        ⑥最终执行的是编译后的php文件。
        ⑦输出结果到浏览器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值