无法调用很多函数:Zend_View_Helper

tom*_*hai 0 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;
  } 
}
Run Code Online (Sandbox Code Playgroud)

查看:detail.phtml

 <?php echo $this->mainHelpers(); ?>  // ok call function
 <?php echo $this->mainHelpers2(); ?> // not ok call function
Run Code Online (Sandbox Code Playgroud)

我想调用很多函数zend_view_helper.

Aro*_*eel 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;
  } 
}
Run Code Online (Sandbox Code Playgroud)

现在调用你的帮助器方法如下:

$this->mainhelpers()->foo()
$this->mainhelpers()->bar()
Run Code Online (Sandbox Code Playgroud)

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

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

class Zend_View_Helper_Bar()
{
     public function bar() 
     {
         // do more stuff
     }
}
Run Code Online (Sandbox Code Playgroud)