2011-03-05 49 views
0

不能調用許多功能:Zend_View_Helper不能調用許多功能: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的許多功能。

回答

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 
    } 
} 
+0

謝謝你的回答 – tomdythai 2011-03-05 18:02:39