我想知道是否可以将多功能与View Helper一起使用?假设我有这个视图助手:
class Zend_View_Helper_Time extends Zend_View_Helper_Abstract {
public function time($date) {
// Some code here
}
}
在我看来,我会像那样使用它:
$this->time($some_date);
但是,如果我想要的话,在同一个帮助器中可以调用另一个方法,如:
$this->Time->convertMyDate($some_date);
我试图这样做,但不幸的是我有一个错误。我们锁定只在类名后使用方法名吗?
感谢您的帮助
答案 0 :(得分:1)
我这样做,只需在构造函数中返回$ this:
public function time() {
return $this;
}
public function convertMyDate($some_date) {
...
}
然后:
$this->time()->convertMyDate();
如果您想保留$this->time($some_date)
,那么您可以执行以下操作(尽管我认为新方法更好):
public function time($time = false) {
if(!$time)
return $this;
else {
...
}
}
答案 1 :(得分:0)
即使班级有效,这个电话也可能不会:
$this->Time->convertMyDate($some_date);
目前正在尝试访问$ this的公共成员(时间):
$this->time()->convertMyDate($some_date);
现在将访问帮助 time()的 convertMyDate()方法(至少在理论上)
构建convertMyDate()帮助器并使用它可能是最简单也更灵活的:
$this->convertMyDate($this->time($some_date));
查看类似HeadScript()
帮助程序的代码也可能会有所帮助,因为这样可以查找所需类型的内容。