日期:2014-05-20  浏览次数:20679 次

ZendFramework学习第二章(视图脚本的变量调用形式和转义输出)

大家都知道视图脚本是用于完成MVC模式中的视图部分。一旦控制器已经完成了变量赋值和调用render()方法,Zend_View就会调用视图脚本并在Zend_View的实例内部执行。因此在视图脚本内,$this是指向Zend_View的实例的。

变量调用形式:

从控制器传递到视图的变量以对象的属性的形式来调用。也就是对象调用属性时用的“->”。比如说我们的控制器有一个变量“a”,那么视图代码就要用$this->a来调用。这样写呢有个好处就是,可以让你更直观的分清楚哪些是来自Zend_View实例的变量(控制器定义的),哪些是视图他自己的变量(视图中定义的)。

 

转义输出:

View脚本最重要的功能之一是保证输出内容的安全性,例如需要避免跨站攻击漏洞。除非已经使用一个函数、类方法或者协助器(helper)来转义内容,在输出变量时需要对其进行转义。

那么Zend_View的escape()方法可以实现转义功能。语法呢,如下:

escape($var)           

其中,参数$var 为需要进行转义的内容,通常为从控制器传递来的变量(当然你也可以视为类实例的属性也就是对象的属性,毕竟调用的时候是用的“->”嘛)。执行该方法进行转以后,从而保证输出内容的安全性。

举个例子:

<?php

//不进行转义的做法,也就是不文明的做法比如说你上完厕所没冲,你舒服了,别人蛋疼坏了

echo  $this->a ;

//进行转义的做法,文明做法,送佛送到西,不仅把代码开发出来,同时呢安全性你也要考虑到

echo $this->escape( $this->a ) ;

 

?>