2016-05-17 1 views
1

je crée alias pour la classe statique en utilisant la fonction class_alias:PHPDocs de PHPStorm type de document de classe de façade statique pour permettre autocomplete

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

Tout fonctionne bien, sauf autocomplete ne fonctionne pas quand je tape B:: et appuyez sur Ctrl + Espace .

Est-ce que PHPDoc ou PhpStorm a quelque chose de magique pour aider autocomplete à dire le type de classe d'alias pour permettre autocomplete, quelque chose comme:

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

1) PHPDoc n'a pas '@ alias' ou une étiquette similaire 2) Idem avec PhpStorm 3) Un jour PhpStorm peut soutenir' class_alias() '- https://youtrack.jetbrains.com/issue/WI -11936 4) La seule option que je peux vous offrir est de créer quelque chose comme 'class B extends A {}' dans un fichier séparé qui sera utilisé par IDE uniquement. – LazyOne

+0

Merci pour le commentaire, j'ai compris la situation actuelle. Si vous répondez, je l'accepterais. – userlond

Répondre

3
  1. PHPDoc actuelle (et PSR-5) n'a pas d'étiquette @alias ou similaire

  2. même avec PhpStorm

  3. Un PhpStorm jour peut soutenir class_alias(). https://youtrack.jetbrains.com/issue/WI-11936 - regardez ce billet (star/vote/commentaire) pour être averti de tout progrès. La seule option que je peux vous offrir est de créer quelque chose comme class B extends A {} dans un fichier séparé qui sera utilisé par IDE uniquement. BTW - c'est ainsi que les façades de Laravel sont supportées (une façon de dire à IDE ce que ces classes peuvent faire/quelles méthodes elles ont, etc.).