Zend Framework中的视图助手

Zend Framework的参考手册中是这样描述View Helper的:


“在你的视图部分的脚本中,经常要实现一些复杂的功能,例如,格式化一个日期、生成表单元素或显示动作链接等等。现在你可以使用helper类来为你实现这些操作。”


当前版本的ZF(0.1.3版)包含了几个表单helper,无疑将来当ZF成熟时会提供更多helper。我首先做的事情就是按照添加子类控制器建议的那样,建立类似Zend_View_Helper的目录结构:









library/

  Zend/

   View/

    Helper/

MyProject/

  View/

   Helper/


我的项目所需的特殊的helper文件放在library/MyProject/View/Helper/,单独存放是为了便于更新Zend核心文件。


下一步是告诉Zend_View在查找默认Zend helper目录的同时也查找定制的helper目录。这只需要编辑public_html/index.php文件,为Zend_View对象添加新的helper路径:









$view = new Zend_View;

$view->addHelperPath('MyProject/View/Helper');


下一步在参考手册中已经记载的很详细了,但是为了完整性的缘故,我将会继续。建立一个新的helper文件:









class Zend_View_Helper_DoStuff {


 public function doStuff()

 {

  return 'Hello to you all';

 }

}


注意:


让我觉得不对劲的地方是新的helper类必须被命名为“Zend_View_Helper_YourNameHere”,而不能是“MyProject_View_Helper_YourNameHere”,考虑到先前我提到的目录结构,它看起来有点古怪。从逻辑上来说,它是一个Zend_View的helper类,其将会同其他由你自己“命名的”子类文件被保留在MyProject目录下,这看起来似乎没有遵循惯例。


准备使用




在将新的helper文件保存为MyProject/View/Helper/DoStuff.php之后,将可以在你自己的View脚本中像这样来使用:









<?php echo $this->doStuff(); ?>


当编写helper类的时候,关键的地方在于命名(方法)的约定,就像在我的doStuff这个例子中说明的:


    1. 类名必须是Zend_View_Helper_DoStuff

    1. 类必须包含一个public方法doStuff()

    1. 文件必须以DoStuff.php为名字保存


像我在《getting to know Zend_View》一文中描述的那样,以上几点在继续开发后可能会有变化。

原文地址:https://www.cnblogs.com/buffer/p/2115693.html