无法调用很多函数:Zend_View_Helper

时间:2011-03-05 17:45:43

标签: php zend-framework

无法调用多个功能:Zend_View_Helper

助手:MainHelpers.php

Class Zend_View_Helper_MainHelpers {
  public function mainHelpers(){
    $output="ok 1";
    return $output;
}

  public function mainHelpers2(){
    $output="ok 2";
    return $output;
  } 
}

查看:detail.phtml

 <?php echo $this->mainHelpers(); ?>  // ok call function
 <?php echo $this->mainHelpers2(); ?> // not ok call function

我想在zend_view_helper中调用许多函数。

1 个答案:

答案 0 :(得分:5)

如果希望视图助手除了构造函数之外还包含其他方法,请确保返回对象实例并执行以下操作:

Class Zend_View_Helper_MainHelpers {
  public function mainhelpers() {
      return $this;
  }
  public function foo(){
    $output="ok 1";
    return $output;
  }

  public function bar(){
   $output="ok 2";
   return $output;
  } 
}

现在调用你的助手方法:

$this->mainhelpers()->foo()
$this->mainhelpers()->bar()

从你的代码示例来看,似乎你试图在一个类中封装多个视图助手。通过创建更多视图帮助程序,您可能会更好:

class Zend_View_Helper_Foo()
{
     public function foo() 
     {
         // do stuff
     }
}

class Zend_View_Helper_Bar()
{
     public function bar() 
     {
         // do more stuff
     }
}