小解Smarty模板的实现原理

   简述Smarty模板:
          Smarty的主要作用就是实现业务逻辑代码(比如php代码)和 显示代码(比如HTML代码)的分离。当我们在编写一个网站的页面的时候,有些内容是根据我们的需求动态显示的。一般的情况下我们可以将php代码和html代码嵌套在一起完成我们的业务需求。但是这样,我们的代码风格看不来很不爽,而且不安全。因为逻辑代码一般不能被用户看到。
所以我们可以使用smarty模板达到我们的需求,实现逻辑代码和视图代码的分离。
   简述Smarty原理(说到底smarty模板就是一个利用正则表达式将模板中的模板变量替换成php代码的过程):
         访问提速原因:
         1.Smarty模板中有一个缓存机制可以加快页面的访问速度,但是这个缓存默认是关闭的 。编译文件
         2.smartty模板引擎会生成一个中间文件(编译文件),因为当我们显示在浏览器的时候,直接显示的是编译文件。         编译文件它省去了我们访问模板文件和替换字符串的时间,所以速度会加快。
         
模板文件:
      模板就是我们看到的html文件中有一些类似于{$content},{$title }的模板变量的html文件,然后再php文件中利用assign("","")这个函数将php变量传到模板文件中的模板变量里面(但是此时还没有发生变量替换的过程),当我们执行了display()这个函数的时候,变量才会被替换。

编译文件:
    编译文件就是把模板文件中的模板变量替换成php代码 的文件(也是最终被访问显示的文件)

Smarty模板执行原理过程图:小解Smarty模板的实现原理_第1张图片


注意:
1.缓存过期时间,我们可以在使用的时候配置
2.模板是否被修改,是因为每次去访问模板文件的时候,我们要去判断他的修改时间,编译文件中记录着最新修改时间,然后判断两个时间是否一致,来断定模板文件是否被修改





你可能感兴趣的:(php)