先解释下:看过zendFramework手册的同学读了我的文章感觉我好像抄袭手册似的,你错了,我并没有看手册,我看的是一本灰灰灰常坑爹的书,此书等我买回来之后发现他他妈的就是copy的手册上边的知识,偶尔加上自己见解。至于什么书我也不说了,看过此书的你懂得。但是我写的文章不仅仅是让大家看的,更重要的是我把他作为自己的笔记写上去,什么时候健忘了,回来看看,学习历程嘛!
我的文章呢有几大好处,首先我表示我的文章适合新新新新手看,因为我在看书的时候把没必要先学的卡掉了,我认为不会了就要跳过去先,等学完了再回头细看;其次呢我的文章是我边学变作例子后写出来的,在我写例子过程中遇到难题被我解决的话我也会给大家讲到的,这些书上和手册上是没有的。
在视图脚本中,经常需要执行某些特定的复杂函数,如格式化日期、生成表单对象或显示Action的连接等。可以通过助手类来完成这些操作。
使用$this->HelperName()来调用助手helper,此时Zend_View会:
1.加载Zend_View_Helper_helperName类,
2.建立一个对象实例,
3.调用它的HelperName()方法。
那么这个对象实例会在Zend_View的实例内一直存下去,并可以被$this->HelperName()重复调用。
Zend_View组件自带了几个helper类,均是用于生成组件的,每个类都有自动过滤变量功能,具体如下:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
formButton($name,$value,$attribs) :生成
formCheckbox($name,$value,$attribs,$optoins) :生成
※$optons参数是一个数组,第一个值是 "checked" ,第二个值是 " unchecked"( 默认为 1 和 0 ) 。
如果$value匹配"checked"值,则这个checkbox显示为已选中。
formFile($name,$value,$attribs) :生成
formHidden($name,$value,$attribs) :生成
formPassword($name,$value,$attribs) :生成
formRadio($name,$value,$attribs,$options) :生成
※每一个$options为数组的一个元素,键为radio的值,并且元素的值是radio的标签。
formReset($name,$value,$attribs) :生成
formSelect($name,$value,$attribs,$options) :建立一个标签。
※其中每个
$value这个值的option默认为选中。
formSubmit($name,$value,$attribs) :生成
formText($name,$value,$attribs) :生成
formTextarea($name,$value,$attribs) :生成
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
对于这些助手类使用很简单,只需要调用即可,他们会自己加载并实例化的。
下边写个例子,这个例子是我改过的手册上的一个例子:
控制器部分:IndexController.php
//header("Content-Type: text/html; charset=utf-8");
class IndexController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
$countries = array(
'us' => '美国',
'il' => '以色列',
'de' => '德国',
);
$this->view->countries = $countries;
}
}
视图部分:index.phtml
在写此代码的过程中呢我遇到了一问题,也就是大家经常遇到的编码问题,一开始option里边的值为英文的可以正常显示,可后来我改为中文后发现不能正常显示了,而后我讲视图部分加上编码格式还是不行,然后我有将这两个文件用记事本打开,另存格式为utf-8。嘿嘿,中文显示出来了!
至于视图助手写出的表单生成什么样子,你可以右击你的浏览器源代码看一下。。好了这篇文章就到这吧,祝大家在开发的路上走的更精彩!