概念:挺有意思的讨论,问题从不同角度有不同看法,控制器和模型是从程序员视角来讲的,是开发者看到的东西。那从用户角度看到什么呢,明显了,是视图,用户不用也不关心内部控制和构造哪些模型,不关心部署了什么结构的模块/控制器/操作,更不关心模块s的文件结构,如何根据具体项目组织模块需要另辟章节。总起来,用户只关心看到了什么,以及视觉效果如何快速有效地引导自己顺利的完成操作。
概念二:视图是最终看到的,他如何生成?在PHP中,不再是码HTML代码,而是生产,通过模板生产。我们通常知道的模板,就是个带空格或更高级的带宏定义的word文件,拿到模板,不光知道怎么填,还知道事情大概的样子。心里更有底。所以,遇到事,我们一般都先问,“有模板吗?”。显然,TP提供的不是模板,模板是我们开发者,TP的使用者生产的东西,我们做好模板,让程序自动填充数据,之后,形成了用户看到的视图。
概念三:TP提供的是什么?不是模板是什么?是的,是更牛逼的模板引擎。是生成模板的工具,这些工具被称之为引擎。理清assingn和fetch的逻辑关系,还有display。
概念四:渲染?相当于编译?是的。TP手册介绍,他的是编译型引擎,使用了动态编译和缓存技术。客户端发出请求,请求最终到操作(控制器方法)一层,在方法中,进行业务逻辑,获取数据,或操作后返回的数据,随后赋值assign,然后使用fetch渲染,渲染是使用缓存的编译过程,这个编译过程要利用事先写好的模板(对应目录下的html文件),把数据值(数组)和模板中写好的{$var}中的变量一一对应和解析,解析的结果,是什么?就是解析为普通的PHP样式,可以理解为每个变量值的显示不再是在{$var},而是echo $var 之类的普通PHP输出。这个过程中,{}大括号这种语法显然是TP框架的,不是PHP的。
概念五:模板引擎,搜索把Blade用到TP中。