请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 6421|回复: 0

[模板引擎] 为什么要使用模板引擎

[复制链接]
发表于 2012-8-4 14:58:23 | 显示全部楼层 |阅读模式

MVC架构中,View视图层主要是负责与显示相关的功能。从提高团队开发效率的角度出发,sp框架的spView视图类的期望能达到的目标是:

  • 将HTML模板与PHP代码分离,一方面可以让前端设计师(制作HTML模板)和PHP程序员(编写PHP代码)并行地工作,也就是人员功能分离;另一方面,有利于组织代码。
  • 增加可重用模板,减轻重复的工作量。
  • 在一定程度上使用模板缓存技术,以提高程序执行速度。

而以上三点,也正是当前主流PHP模板引擎希望能够做到,所以sp框架内置了业界最流行同时也是PHP官方出品的Smarty模板引擎技术。使用Smarty模板引擎将很轻易达到上述目标。


Smarty的其中两个设计理念,就是“功能最小化原则”和“数据屏蔽”。


“功能最小化原则”是因为模板技术主要对象是前端设计师,所以模板上面逻辑功能将是非常有限的,在未进行任何的配置之前,前端设计师几乎只能使用Smarty自带的一些简化前端的函数。当然对于前端设计师而言这是非常有利的,毕竟前端设计师需要的正是专注于前端HTML和简单的逻辑开发,而不是去思考更为复杂逻辑数据程序设计。


“数据屏蔽”其实对于我们并不陌生,这是面向对象编程中的一个概念,简单来说就是希望我们的程序可以像一个黑盒子,仅通过唯一的接口来进行交互,这样的程序才是安全的,可控的。而在Smarty中,数据仅能通过设定的变量来进行传输到模板中,这是模板获得数据的唯一接口,也正是很好体现“数据屏蔽”的特点。

我们可以开启模板变量调试功能,从模板的调试信息来看,更能体会到“变量是模板获取数据的唯一接口”的特点。



您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-7-7 00:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表