关于smarty的原理
看完基本的JS,又开始看第三部的传世经典了。一开始就是smarty,其实之前在TP的框架里面有接触过模板,这次是来学习这个所谓的最多人用的模板。
模板,其实就是一个类,因为直接在HTML里面写PHP语句对于前段来说不是十分友好,就有人想出了这么一个方法来:将HTML里面的PHP包装一下,让前段看来起稍微友好一点,怎么包装呢,就是把变为{$x},其实原理很简单,实现的话需要的代码也不多
需要定义两个文件夹,一个存放包装前的html,一个存放包装后的HTML并且转为php文件,怎么编译呢,其实很简单就是两个str_replace的事情,但是在里面牵涉到要调用完这个类直接替换了,然后又需要包含一次编译后的文件,所以就比较麻烦,所以就把包含文件也写在了类里面,但是这样的话,编译的文件就是在实例化以后的对象里面包含了,那么里面一些属性就没有办法在里面使用,所以就多写了一个方法assign用户把属性赋值到对象里面用于使用,最后还有一个需要注意的地方,就是,如果直接这样使用的话,就没刷新一次就编译一次,效率很低,所以使用了一个判断(判断是否存在编译后的文件and这个编译文件是否比编译前的文件时间更晚),用于判断是否需要再次编译。