在Zend中使用View助手

时间:2010-12-31 01:04:29

标签: zend-framework

我是Zend的新手,我想创建一个用于创建表的类(更多用于学习如何使用帮助程序,而不是出于实际原因)。

我在views / helpers中创建了一个名为Table的类,并将以下代码放在:

class Zend_View_Helper_Table{   

public function table(){
    }

    public function helloWorld(){
       return "hello world";
    }

}

我添加了这一行:

resources.view.helperPath = APPLICATION_PATH "/views/helpers"

到我的ini文件。

如何在我的视图中实例化此类并使用它?

我已经关注了Zend上的脚本,但它仍然失败......

干杯 约翰

1 个答案:

答案 0 :(得分:3)

您的课程必须延伸: Zend_View_Helper_Abstract

但我建议您为视图助手使用自己的命名空间:

在你的bootstrap.php中添加:

/**
 * Initialize the autoloader
 *
 * @return Zend_Application_Module_Autoloader
 */
protected function _initAutoload()
{
    $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'My',
            'basePath'  => dirname(__FILE__),
    ));

    return $autoloader;
}

在你的application.ini中添加:

resources.view.helperPath.My_View_Helper = APPLICATION_PATH "/views/helpers"

将您的视图助手放入;

/views/helpers/Hello.php

class My_View_Helper_Hello extends Zend_View_Helper_Abstract
{
    /**
     * Return random quotes
     *
     * @return string quotes
     */
    public function hello()
    {
        $quotes = array(
            'test12',
            'fooBar',
        );

        $idx = array_rand($quotes);

        return $quotes[$idx];
    }
}

在您看来,只需使用:

<?php echo $this->hello;?>