我是小佳 ,未注明原创的,均为转载。

Zend Framework中的视图助手(View Helper)

上一篇 / 下一篇  2006-10-08 09:17:31 / 天气: 晴朗 / 心情: 高兴 / 个人分类:PHP杂谈

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
  2. 类必须包含一个public方法doStuff()
  3. 文件必须以DoStuff.php为名字保存

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

进一步阅读


查看Zend Framework参考手册中的Helpers部分



转自:http://www.phpeye.com/articles/tutorial3.html

TAG: PHP杂谈

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 40194
  • 日志数: 121
  • 图片数: 1
  • 文件数: 1
  • 书签数: 27
  • 建立时间: 2006-09-21
  • 更新时间: 2007-08-12

RSS订阅

Open Toolbar