zoukankan      html  css  js  c++  java
  • 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》一文中描述的那样,以上几点在继续开发后可能会有变化。

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    易购商城首页
    使用HTML5验证博客园用户注册页面
    正则表达式相关内容和用法
    表单
    jQuery制作图片提示效果
    jQuery遍历
    用js制作论坛发贴
    使用jQuery操作DOM
    京东常见问题分类页面
  • 原文地址:https://www.cnblogs.com/buffer/p/2115693.html
Copyright © 2011-2022 走看看