2016-05-17 61 views
1

我創建使用別名靜態類class_alias功能:PhpStorm PHPDocs記錄靜態門面類類型,使自動完成

<?php 
/** 
* Class A 
*/ 
class A { 
    static function doSomething() { 
     print 42; 
    } 
} 
// create alias, now calling B:: is the same like A:: 
class_alias('A', 'B'); 

// here autocomplete is not working 
B::doSomething(); 

一切工作正常,除了自動完成不工作,當我鍵入B::並按Ctrl +空格鍵

是否PHPDoc的或PhpStorm有一些魔法來幫助自動完成,告訴別名類的類型時啓用自動完成,東西爲:

<?php 
// /** @alias <full_name_of_original_class> <alias_name> */ 
/** @alias A B */ 
B::doSomething(); 
+2

1)PHPDoc的沒有'@ alias'或相似標籤2)同樣的,PhpStorm 3)一天PhpStorm可以支持'class_alias()' - https://youtrack.jetbrains.com/issue/WI -11936 4)我可以提供的唯一選擇是在單獨的文件中創建類似於'class B extends A {}'的東西,IDE將僅使用它。 – LazyOne

+0

感謝您的評論,我瞭解目前的情況。如果你做出答案,我會接受它。 – userlond

回答

3
  1. 當前PHPDoc的(和PSR-5)沒有@alias或類似的標籤

  2. 同樣的,PhpStorm

  3. 一天PhpStorm可支持class_alias()https://youtrack.jetbrains.com/issue/WI-11936 - 觀看此票(明星/投票/評論)以獲得任何進展的通知。

  4. 我可以爲您提供的唯一選擇是在僅由IDE使用的單獨文件中創建類似class B extends A {}的內容。順便說一句 - 這就是Laravel的外觀是如何被支持的(一種告訴IDE這些類可以做什麼/他們有什麼方法等等的方法)。