Zend Framework教程-Zend_Helpers-视图助手(View_Helper)概述
来源:程序员人生 发布时间:2013-12-10 07:47:47 阅读次数:4794次
神马是视图助手
不难理解,视图,就是View层,前端展示页面,助手,就是辅助工具,辅助类或者一个功能。这个功能是抽象出来的一个组件,可以在必要的时候调用这个助手,就可以在View上展现指定的内容。例如。现在有个职业类型的选择下拉列表,我们就可以把这个下拉列表做成一个助手类,在使用的时候,调用这个助手类就可以了。并且便于修改和替换。
视图助手的规则
1.通常视图助手存放在应用的application/views/helpers文件夹下面,这些助手是默认,框架自动加载的,当然也可以定义在别的位置,这就需要指定这个助手的存放路径。所以通常为了方便都会放在默认的目录下。
Note: 缺省助手路径
即使调用 setHelperPath() 来重写当前的路径,缺省助手路径总是指向 Zend Framework 视图助手, 例如:'Zend/View/Helper/',设置这个路径来确保缺省的助手工作。
2.默认的视图助手类,类的前缀是'Zend_View_Helper_'
(当设定助手路径时,你可以指定定制的前缀),类名的最后一部分就是助手名称;
例如:
/views/helpers/DepartmentSelect.php 类名对应的就是class Zend_View_Helper_DepartmentSelect
3.助手类必须继承 Zend_View_Helper_Abstract
4.类中应当至少有一个在助手之后命名的方法,并且是驼峰格式(即首字母小写,之后的每个单词首字母大写,例如departmentSelect。参数不做限制。
Note: 注意大小写
助手名称总是遵循驼峰格式,例如,它们从不以大写字母开头。类名是混合大小写字格式,但方法在执行时是驼峰格式。
视图助手的使用方法
在视图脚本中,你可以用$this->helperName()
来调用helper。这时Zend_View
会加载Zend_View_Helper_HelperName
类,建立一个对象实例,并调用它的helperName()
方法。对象的实例会在Zend_View
的实例内一直存在,并可以被$this->helperName()
重复调用。
例如
$this->departmentSelect();
框架自带的视图助手
视图助手的实现和常见的视图助手在ZendViewHelper文件夹中。默认提供的视图助手主要用于布局的显示和html,form表单的生成。以及url相关。具体的常见视图助手的使用方法在后续章节中介绍。
具体的目录结构和相关类
ZendView
│ Abstract.php
│ Exception.php
│ Interface.php
│ Stream.php
│
└─Helper
│ Abstract.php
│ Action.php
│ BaseUrl.php
│ Currency.php
│ Cycle.php
│ DeclareVars.php
│ Doctype.php
│ Fieldset.php
│ Form.php
│ FormButton.php
│ FormCheckbox.php
│ FormElement.php
│ FormErrors.php
│ FormFile.php
│ FormHidden.php
│ FormImage.php
│ FormLabel.php
│ FormMultiCheckbox.php
│ FormNote.php
│ FormPassword.php
│ FormRadio.php
│ FormReset.php
│ FormSelect.php
│ FormSubmit.php
│ FormText.php
│ FormTextarea.php
│ HeadLink.php
│ HeadMeta.php
│ HeadScript.php
│ HeadStyle.php
│ HeadTitle.php
│ HtmlElement.php
│ HtmlFlash.php
│ HtmlList.php
│ HtmlObject.php
│ HtmlPage.php
│ HtmlQuicktime.php
│ InlineScript.php
│ Interface.php
│ Json.php
│ Layout.php
│ Navigation.php
│ PaginationControl.php
│ Partial.php
│ PartialLoop.php
│ Placeholder.php
│ RenderToPlaceholder.php
│ ServerUrl.php
│ Translate.php
│ Url.php
│
├─Navigation
│ Breadcrumbs.php
│ Helper.php
│ HelperAbstract.php
│ Links.php
│ Menu.php
│ Sitemap.php
│
├─Partial
│ Exception.php
│
└─Placeholder
│ Container.php
│ Registry.php
│
├─Container
│ Abstract.php
│ Exception.php
│ Standalone.php
│
└─Registry
Exception.php
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠