2011-04-08 2 views
1

정상적인 행동에서 나는 $this->_forward()입니다. 나는 행동 도우미에서 똑같은 일을하고 싶다. 이 보호 기능을 사용하면 공개 범위 전방 방법을 사용할 수 있도록행동 도우미에서 앞으로 전화를 걸 수있는 방법

$this->getActionController()->_forward(''); 

가장 쉬운 방법을 통해 호출 할 수 있도록 분명히

$this->getActionController()->_forward(''); 
$this->_actionController()->_forward(''); 
+1

$ this -> _ forward()를 사용해 보셨습니까? – markus

+0

_forward ($ action, $ controller) 호출은 요청 객체를 변경하고 디스패치 사이클을 다시 실행합니다. 액션 도우미에서 앞으로 사용할 이유에 대한 아이디어를 줄 수 있습니까? – Ifthikhan

답변

1

_forward 작동하지 않는 것은 만드는 것입니다 _forward 방법에 대한 새로운 기대() 메소드 (주의 '앞으로'하지 '_forward) 및 프록시는 :

class App_Controller_Action extends Zend_Controller_Action 
{ 
    public function forward($action, $controller = null, $module = null, array $params = null) 
    { 
     return $this->_forward($action, $controller, $module, $params); 
    } 
} 

그것을 테스트하지 않은,하지만 그것은 해피 해킹 작동합니다.

+0

protected에서 public으로의 이동이 가시성을 확장하므로'_forward()'를 직접 오버라이드 할 수 있어야합니다. –

+0

_forward는 최종 보호 된 기능이므로 프레임 워크의 로컬 복사본 소스를 변경하지 않으려면 그렇게 할 수 없습니다. – Fatmuemoo

+0

D' oh! 물론, 나는'_forward()'가'final'으로 열거되었음을 깨닫지 못했습니다. 머리를 가져 주셔서 감사합니다. –

관련 문제