2011-01-08 108 views
1

我终于得到了一个Zend视图助手在我的帮助文件中使用这方面的工作:Zend的视图助手问

class MY_View_Helper_Table extends Zend_View_Helper_Abstract 
{ 
    private $table_data="",$table_head=""; 

    public function Table($data=''){ 
     return "hello"; 
    } 
} 

,这在我看来:

print $this->Table(); 

这只是打印出返回值的构造函数,我想。我该如何去调用这个类的其他方法?我真的不知道如何引用实例化对象来访问它的方法。

+0

我已经设法使用方法链来做它,在表中我返回$ this;但是必须有更好更正常的方式来做到这一点。 – user505988 2011-01-08 00:33:52

回答

3

我已经设法使用 方法链接,在表I中返回 $ this;但一定有更好的做法。

其实没有。这通常是你如何做到的。由于视图助手的工作方式,如果您需要访问助手上的其他方法,那么您要么始终从table方法返回$this,要么通过传递给它的参数签名检测要调用的内容。对于eaxmple:

public function table($options = null) 
{ 
    if(null === $options){ 
     return $this; 
    } 

    if(is_array($options)){ 
    return $this->tableFromArray($options); 
    } 

    // etc.. 
} 

你也可以得到$this->getHelper('name')助手实例,然后链到你想要的方法......但IMO那不是做只是治疗的默认方法是获取的参数检测更加混乱。

+1

谢谢你,我是Zend的新手。在使用方法链玩它之后,它看起来确实是一种很好的方式。再次感谢您的回答。 – user505988 2011-01-08 12:07:05