2014-02-07 6 views
0

내가 $this->form()에 대한 코드 완성을 갖고 싶어 내 내부보기 PHPStorm 7.1.2zf2 코드 완성> 형태

와 젠드 프레임 워크 (2)를 사용하고 있습니다.

컨트롤러 :

public function indexAction() { 
    $viewModel = new ViewModel(); 
    $form = new SearchForm('search'); 
    $viewModel->setVariable('form', $form); 
    return $viewModel; 
} 

보기 : 나는에 코드 완성을 가지고 내보기에

<?php 
/** 
* @var \Zend\View\Renderer\PhpRenderer $this 
* @var \Application\Form\SearchForm $form 
*/ 
?> 

<?php $form->setAttribute(...); ?> 
<?php $form->prepare(); ?> 
<?php $this->form()->openTag($form); ?> 

... 

<?php $this->form()->closeTag(); ?> 

예를 들어, 여기에

코드입니다 $this->url(...);$form->setAttribute(...);.

$this->form()에서 코드 완성을 위해 내 파일에 주석을 달려면 어떻게해야합니까?

PHPStorm 뭔가를 알려줍니다에 대한

방법 클래스 젠드 \보기 \ 렌더러 \ PhpRenderer

에서 찾을 수 없습니다 '형태'...

감사합니다, 옌스

+0

PHPDoc의 PHPDoc 태그는 컨트롤러/뷰/렌더러 (보기 파일에 '$ this'가 무엇이든간에) 클래스 (죄송합니다, ZF2 사용자가 아닙니다)에 대한 주석입니다. 이 클래스는 ZF2에서 가장 가능성이 높기 때문에 실제로 편집 할 수는 없습니다. 내 유일한 제안은 그 클래스를 다른 곳 (프로젝트 내)에서 복사하고 거기에'@ method' 태그를 추가하는 것입니다. IDE는 같은 이름의 클래스가 2 개 있다고 경고하지만 완료가없는 것보다 낫습니다. – LazyOne

답변

1

$this->form()$this->formXY()은 모두 ViewHelpers이므로 해당 유형에 대한 힌트는 얻을 수 없습니다.

+1

+1 이유에 대해 자세히 설명합니다. 렌더러에 '$ this-> form()'메서드 **가 존재하지 않습니다 ** 마술 __call()을 통해 잡히고 필요한 플러그인에 매핑됩니다] (https://github.com/ zendframework/zf2/blob/master/library/Zend/View/Renderer/PhpRenderer.php # L394) (이 경우 Zend \ Form \ View \ Helper \ Form) – AlexP