Zend Framework教程-Zend_Helpers-視圖助手(View_Helper)概述
來源:程序員人生 發布時間:2013-12-10 07:47:47 閱讀次數:5133次
神馬是視圖助手
不難理解,視圖,就是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
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈