2013-04-17 4 views
1

보기 도우미와 함께 여러 기능을 사용할 수 있는지 궁금합니다. 이제 나는이보기 도우미 있다고 가정 해 봅시다 : 내보기에서Zend Framework에서보기 도우미에서 다중 방법 사용

class Zend_View_Helper_Time extends Zend_View_Helper_Abstract { 

    public function time($date) { 
     // Some code here 
    } 
} 

을, 나는 그런 거 사용을 해요 :

$this->time($some_date); 

하지만 원하는 경우, 같은 도우미에서 호출 할 수에 대해 어떻게 다른 방법은 다음과 같습니다.

나는 그렇게하려고했지만 불행히도 오류가 발생했습니다. 클래스 이름 다음에 메서드 이름 만 사용하도록 잠겨 있습니까? 당신의 도움에 대한

감사

답변

1

나는 이렇게 간단하게 생성자에서 $이 반환 : 그런 다음

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 { 
     ... 
    } 
} 
클래스가이 전화를했다하더라도
0

가능성이없는 것 :

$this->time()->convertMyDate($some_date); 

지금 convertMyDate에 액세스 할 :

$this->Time->convertMyDate($some_date); 

은 현재 $이의 공용 멤버 (시간)에 액세스하려고() 도우미 방법 시간() (적어도 이론적으로)

아마 가장 쉽고 더 유연 할 것입니다. 제작 : 그냥 좋아하는 convertMyDate() 도우미를 구축하고 사용하는 방법이 당신을 찾고 물건의 유형처럼

$this->convertMyDate($this->time($some_date)); 

는 또한 HeadScript() 도우미 같은의 코드를 보면 도움이 될 수 있습니다.

관련 문제