2016-05-17 21 views
1

ich erstellen Alias ​​für statische Klasse mit class_alias Funktion:PhpStorm PHPDocs dokumentieren statische Fassadenklasse Typ ermöglichen die automatische Vervollständigung

<?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(); 

Alles ok arbeiten, mit Ausnahme der automatischen Vervollständigung funktioniert nicht, wenn ich B:: ein und drücken Sie Strg + Leertaste .

Hat PHPDoc oder PhpStorm hat etwas Magie der automatische Vervollständigung zu helfen Art von Alias-Klasse zu sagen, die automatische Vervollständigung zu ermöglichen, etwas wie:

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

1) PHPDoc hat keine '@ alias' oder ähnlich Tag 2) Das Gleiche gilt für PhpStorm 3) Eines Tages PhpStorm kann' class_alias unterstützen() '- https://youtrack.jetbrains.com/issue/WI -11936 4) Die einzige Option, die ich Ihnen anbieten kann, ist, etwas wie "Klasse B erweitert A {}" in einer separaten Datei zu erstellen, die nur von der IDE verwendet wird. – LazyOne

+0

Danke für den Kommentar, ich habe die aktuelle Situation verstanden. Wenn du eine Antwort machst, würde ich es akzeptieren. – userlond

Antwort

3
  1. Aktuelle PHPDoc (und PSR-5) keinen @alias oder ähnlichen Tag

  2. Same mit PhpStorm

  3. Eines Tages PhpStormunterstützen kann. https://youtrack.jetbrains.com/issue/WI-11936 - sieh dir dieses Ticket an (Stern/Stimme/Kommentar), um bei jedem Fortschritt benachrichtigt zu werden.

  4. Die einzige Option, die ich Ihnen anbieten kann, ist, etwas wie class B extends A {} in einer separaten Datei zu erstellen, die nur von IDE verwendet wird. Übrigens - so werden Laravels Fassaden unterstützt (eine Möglichkeit, IDE zu sagen, was diese Klassen können/welche Methoden sie haben usw.).