2014-02-07 28 views
0

我使用Zend Framework 2 PHPStorm 7.1.2

裏面我的看法我想有代碼完成$this->form()

下面是代碼:

控制器:

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講述一些有關

法 '形成' 類的Zend \查看\渲染器\ PhpRenderer

沒有發現......

感謝, 延

+0

唯一的辦法,現在是通過'@method」 PHPDoc的標籤在你的控制器/視圖/渲染器PHPDoc的評論(無論'$ this'是在視圖文件)類(對不起,不ZF2用戶)。由於該類很可能是ZF2的一部分,因此您無法真正編輯它。我唯一的建議就是將這個類複製到其他地方(在你的項目中)並在那裏添加'@ method'標籤。 IDE會警告你,你有兩個同名的類,但它比沒有完成更好。 – LazyOne

回答

1

$this->form()以及$this->formXY()都是ViewHelpers,你不會得到任何類型的暗示。

+1

+1詳細說明原因;這個'$ this-> form()'方法**在渲染器上不存在**,[通過magic __call()捕獲並映射到所需的插件](https://github.com/ zendframework/ZF2 /斑點/主/庫/ Zend的/視圖/渲染器/ PhpRenderer.php#L394)('的Zend \表格\視圖\助手\ Form'在這種情況下) – AlexP