2013-02-28 23 views
5

PHPStorm'un görüntü yardımcı otomatik tamamlama için yerleşik bir desteği veya bunun için bir eklenti yazma olanağı olup olmadığını bilen var mı? Ben görünümü yardımcıları bir çok kullanırsam var tanımları kullanırsanız böyle bir şey olarak sona erecekPhpStorm'daki ZF2 görüntü yardımcıları için otomatik tamamlama

$this->inlineScript()-> //I want some autocomplete here. 

$this->translate('some translation')-> //Please give me autocompletion 

yapmak hantal olurdu bu kadar bunun için satır içi var tanımlarını kullanmak istiyorum ama yok

/* @var $inlineScript \Zend\View\Helper\InlineScript */ 
$inlineScript = $this->inlineScript(); 
$inlineScript-> //Now I have autocompletion goodness 

/* @var $translate \Zend\I18n\View\Helper\Translate */ 
$translate = $this->translate(); 
$translate('some translation')-> //Now I have autocompletion goodness 
+0

benzer bir şey ile https://github.com/zendframework/zf2 karşı bir çekme isteği açabilir? Belki de sadece uygun PHPDocs yok mu? – LazyOne

+1

@LazyOne, dinamik olarak '__call' yöntemiyle oluşturulmuştur :) –

+2

https://github.com/zendframework/zf2/blob/release-2.1.3/library/Zend/Mvc/Controller/AbstractController gibi bir şey. php # L31-L42, PHPRenderer'a uygulanabilir ... Sonra, \/@ @var $ this \ Zend \ View \ Renderer \ PhpRenderer */'yazabilirsiniz. Bu potansiyel olarak – Ocramius

cevap

11

NOT Ben cevap olarak yorumlarla ele benim yöntemi post ediyorum: gerçekten görüşümü yığılmayı olacaktır.

/* @var $a \MyClass */ 
$a->// typehint! 
:

/** 
* @method \Zend\Mvc\Controller\Plugin\Url url(string $route = null, array $params = null) 
*/ 
class MyClass 
{ 
} 

Bu, MyClass olarak görülen herhangi bir değişkeni yöntem url bir typehint sahip kullanmak sağlar:

mevcut olmayan yöntemler typehint için, sözdizimi aşağıdaki gibidir

Böyle bir "sahte" sınıfa ihtiyacınız var ve ardından şu görüntülü komut dosyalarınızı şu şekilde başlatın:

/* @var $this \MyFakeClass */ 

Bu, görünüm komut dosyanızda $this'da size ipuçları verir. Sen ideal `inlineScript()` ve/veya `()` beyan edilir tercüme nasıl https://github.com/zendframework/zf2/pull/3438

+0

Bir [PR] oluşturdum (https://github.com/zendframework/zf2/pull/3924) –

+0

Bu, kullanıcı tanımlı görüntü yardımcıları için nasıl yardımcı oluyor? AbstractController'ı düzenleyemezsiniz, böylece kullanıcı tanımlı yardımcılar hala bilinmeyecektir. –

+0

@QuolonelQuestions, her zaman buna değecek alt sınıfları – Ocramius