2011-10-25 5 views
0

저는 젠드를 처음 접했고 젠드 프레임 워크와 관련하여 질문이 있습니다. 나는 그것을 시도했지만 올바른 대답을 얻지 못했습니다.젠드의 컨트롤러에서보기에서 데이터 전달하기

이전의 개발자는

public function indexAction() 
{ 
    $abc = $this->view->abc; 
} 

내 질문은 당신이 컨트롤러보기에서 뭔가를 할당 할 수있는 방법입니다 컨트롤러에서이 같은 짓을? 당신이 할 수 있다면 이것은 법적 할당입니까?

+0

protected function _initAbc() { $resource = 'abc'; // can be anything $this->bootstrap('view'); $view = $this->getResource('view'); $view->abc = $resource; return $resource; // adds resource into Application registry } 

및 컨트롤러에 Bootstrap.php에서

.... – hakre

+0

컨트롤러에서 볼 수만 할당 할 수 있지만 제 질문은 이전 개발자가 이렇게했기 때문에 zend에서 어떤 relavence가 있습니까? 또는 전체 할당이 잘못되었습니다 – Kishore

+0

하지만 그때 당신의 질문은 무엇입니까? 그것은 작동하지 않습니까? – hakre

답변

2

실제로 이것은 나쁜 접근이지만, 어떻게 작동하는지에 대한 가능한 해결책을 제시 할 수 있습니다.

내 생각이다, 이전 개발자는, 어쩌면 부트 스트랩에서, 디스패치 사이클 초기에 일부 뷰 속성을 지정한다 예를 들어

// Bootstrap.php 

protected function _initGlobalViewProperties() 
{ 
    $this->bootstrap('view'); 
    $view = $this->getResource('view'); 
    $view->abc = 'abc'; 
} 

이 일을 아무 문제가 정말 없다 동안,보기는 안된다 에 의존하여 리소스를 컨트롤러에 제공하십시오. 더 나은 접근 방법은 모든 컨트롤러에서 사용할 수있는 응용 프로그램 자원을 만드는 것입니다. 당신은뿐만 아니라 뷰에서 컨트롤러로, 볼 컨트롤러에서 지정

$abc = $this->getInvokeArg('bootstrap')->getResource('abc'); 
관련 문제