Yii分析9:CController控制视图(Cview)的展现
?
? ? 《The Definitive Guide to Yii》描述了视图的概念:“视图是一个包含了主要的用户交互元素的PHP脚本.他可以包含PHP语句”,不同于很多类似的框架,Yii并没有使用smarty作为模板引擎,而是直接使用原生的PHP脚本作为模板,笔者认为至少有以下两点好处:
? (1)门槛低,易于使用,不需要理解和记忆smarty的模板语言语法
? (2)减少了模板引擎解析的过程,直接include,结合opcode缓存,效率可能会更高
当然也有缺点:
? (1)没有smarty的前端过滤功能,前后端分离开发也有一定的门槛(前端工程师需要学习PHP语法,尤其是字符串处理相关函数)
? (2)直接使用PHP,对于一些约束很难控制,比如全局的错误级别,如何控制逻辑处理与数据处理的界限?
? ? ? 因此,对于是使用PHP原生脚本还是使用smarty作为模板各有利弊,不论程序开发人员使用哪一种,都要了解这种方式的利弊才能更加安全有效地进行开发。
?
在Yii中,显示一个视图非常简单,即调用Ccontroller的方法render:
?