文档章节

TP的视图模板和模板引擎

zhmsong
 zhmsong
发布于 2017/05/02 11:34
字数 640
阅读 144
收藏 0

概念:挺有意思的讨论,问题从不同角度有不同看法,控制器和模型是从程序员视角来讲的,是开发者看到的东西。那从用户角度看到什么呢,明显了,是视图,用户不用也不关心内部控制和构造哪些模型,不关心部署了什么结构的模块/控制器/操作,更不关心模块s的文件结构,如何根据具体项目组织模块需要另辟章节。总起来,用户只关心看到了什么,以及视觉效果如何快速有效地引导自己顺利的完成操作。

概念二:视图是最终看到的,他如何生成?在PHP中,不再是码HTML代码,而是生产,通过模板生产。我们通常知道的模板,就是个带空格或更高级的带宏定义的word文件,拿到模板,不光知道怎么填,还知道事情大概的样子。心里更有底。所以,遇到事,我们一般都先问,“有模板吗?”。显然,TP提供的不是模板,模板是我们开发者,TP的使用者生产的东西,我们做好模板,让程序自动填充数据,之后,形成了用户看到的视图。

概念三:TP提供的是什么?不是模板是什么?是的,是更牛逼的模板引擎。是生成模板的工具,这些工具被称之为引擎。理清assingn和fetch的逻辑关系,还有display。

概念四:渲染?相当于编译?是的。TP手册介绍,他的是编译型引擎,使用了动态编译和缓存技术。客户端发出请求,请求最终到操作(控制器方法)一层,在方法中,进行业务逻辑,获取数据,或操作后返回的数据,随后赋值assign,然后使用fetch渲染,渲染是使用缓存的编译过程,这个编译过程要利用事先写好的模板(对应目录下的html文件),把数据值(数组)和模板中写好的{$var}中的变量一一对应和解析,解析的结果,是什么?就是解析为普通的PHP样式,可以理解为每个变量值的显示不再是在{$var},而是echo $var 之类的普通PHP输出。这个过程中,{}大括号这种语法显然是TP框架的,不是PHP的。

概念五:模板引擎,搜索把Blade用到TP中。

© 著作权归作者所有

共有 人打赏支持
zhmsong
粉丝 40
博文 126
码字总数 65130
作品 0
海淀
程序员
私信 提问
视图模板和模板引擎

概念:挺有意思的讨论,问题从不同角度有不同看法,控制器和模型是从程序员视角来讲的,是开发者看到的东西。那从用户角度看到什么呢,明显了,是视图,用户不用也不关心内部控制和构造哪些模...

zhmsong
2017/04/29
1
0
ThinkPHP 2.0 版本正式发布

在经过5个月的重构和完善之后,ThinkPHP终 于发布了新的里程碑版本2.0,作为新版网站上线和祖国60周年华诞的献礼,我们送给大家这样一份惊喜。感谢为了新版的功能辛苦测试和完善的朋友们,感...

红薯
2009/10/16
1K
1
ThinkPHP开发必备composer扩展包

本文假设读者有能力正常使用composer 环境隔离 dotenv 真实世界的开发往往是这样, 多个团队成员共同开发, 线上线下的代码通过版本控制系统保持一致.但你无法保证也没理由要求所有机器上的应用...

朱__朱
2015/09/14
3.5K
6
Express使用html模板

express默认使用jade模板,可以配置让其支持使用ejs或html模板。 1. 安装ejs    在项目根目录安装ejs. npm install ejs 2、引入ejs var ejs = require('ejs'); //我是新引入的ejs插件 3、...

aaallj
2015/11/06
0
0
(PHP学习笔记)工厂类在MVC框架中的运用

在基本的MVC框架模型中,会引用到数据库和模板文件。但是不同的开发者会选择不同的数据库以及模板引擎。因为在实际开发的过程中,有可能会更换数据库或者是模板引擎,如果针对每个数据库以及...

w1sw
2016/08/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

租房软件隐私保护如同虚设

近日,苏州市民赵先生向江苏新闻广播新闻热线025-84658888反映,他在“安居客”手机应用软件上浏览二手房信息,并且使用该软件自动生成的虚拟号码向当地一家中介公司进行咨询。可电话刚挂不久...

linux-tao
今天
1
0
分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
4
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
2
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部