
smarty
治荣
这个作者很懒,什么都没留下…
展开
-
Smarty基本概念,建立文件夹
smarty是什么? Smarty是一个PHP的模板引擎,提供让程序逻辑与页面显示(HTML/CSS)代码分离的功能。 也就是PHP代码是程序逻辑,与页面显示分开。 smarty特点 速度:使用smarty可以获得最大速度的提高(相对于其它模板引擎技术)。 编译型:在下一次访问模板时直接访问编译文件,而不再进行模板重新编译。 缓存技术:可以将用户最终看到的HTML文件缓存成一个静态的HTML页。 ...原创 2019-03-15 15:10:54 · 155 阅读 · 0 评论 -
Smarty基本语法 定界符 注释 变量 内置函数 变量修饰器 函数插件
首先,站在前端开发人员的角度使用smarty。包括定界符、注释、变量和函数(内置函数、变量修饰器和函数插件)。 1.定界符 和html标签类似,<p></p> 在smarty中,默认的定界符是{}, 注意: 任何在定界符之外的内容,都是静态的,是不会被解析的(包括php代码) { 和 $ 中间不能有任何空格,否则将不会解析。(右边则是可以的) 如果在页面中有css和js,会...原创 2019-03-15 21:53:00 · 384 阅读 · 0 评论 -
在项目中引入smarty(部分)
在中级项目shopcz中使用smarty。 思考:我们的smarty应该放在哪儿? 是application还是framework呢? 答案是:都可以。 不同的程序员会有不同的考虑。 如放到framework,把smarty作为框架的一个部分,thinkphp。 比如放到application中,将smarty作为第三方文件来引入,比如CI框架。 我们采取第二种,作为第三方的工具引入smarty。...原创 2019-03-17 18:05:39 · 676 阅读 · 1 评论 -
Smarty模板继承
作用:重用代码,可扩展 用法: A.需要定义一个父模板,定义公共的内容,通常称之为模板布局。layout B.定义子模板,继承自父模板,使用extends函数实现。 在子模板中,需要覆盖父模板的内容,(或者叫重新定义,),可以直接声明block即可。 用法如下: 先定义模板布局(父模板) 然后,定义子模板,在子模板中,通过extends来继承, 通过,php代码载入子模板, 结果如下: 如...原创 2019-03-17 18:35:00 · 240 阅读 · 0 评论 -
Smarty开启缓存和局部不缓存
什么是缓存? 将我们的数据保存到 某个硬件或者软件当中,便于我们快速的访问。归根结底都是在内存当中。 常见的缓存形式有哪些? 数据缓存,站在数据库的角度(mysql),有些数据不是经常变化的,我们就可以把它缓存起来,下次再访问的时候,就直接访问缓存,极大了提升了效率。Memcached 文件缓存,也称页面缓存,有些页面,一旦生成,就不再变化,我们可以将这些页面缓存起来,就是直接将其转成静态页面,后...原创 2019-03-17 20:54:37 · 1007 阅读 · 0 评论 -
smarty 单模板多缓存 缓存组 删除缓存
[需求]:在我们的商品详情页中使用缓存 在goodsController中编写代码如下: 原因:所有的商品都共享一个模板页面,所以就都使用了同一个缓存文件。 需要将每个商品单独的生成一个缓存文件,这个就是单模板多缓存。 实现很简单,只需要在display的时候,传递第二个参数,用来标识当前的内容。 编写代码如下: 查看生成的缓存文件如下: 缓存组 [需求]:对我们的列表页实现缓存 载入我们...原创 2019-03-18 09:38:05 · 217 阅读 · 0 评论 -
Smarty 自定义模板引擎
1.模板引擎原理 2.实现自己的模板引擎 (1).创建目录结构 编写index.php文件 (2).定义template类 首先定义三个属性,如下: 然后定义assign方法: 定义display方法如下: 测试,定义一个模板文件,如下: 输出结果: 本着单一职责的职责,每个类只负责完成一件事情。所以我们再行定义一个parse类,用于完成功能。 (3).定义parse类 Parse...原创 2019-03-18 17:44:08 · 229 阅读 · 0 评论