PhpStorm PHPDocs 文档静态门面 class 类型以启用自动完成

PhpStorm PHPDocs document static facade class type to enable autocomplete

我使用 class_alias 函数为静态 class 创建别名:

<?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 + Space.

时自动完成不起作用

PHPDoc 或 PhpStorm 是否有一些魔法来帮助自动完成以告知别名类型 class 以启用自动完成,例如:

<?php
// /** @alias <full_name_of_original_class> <alias_name> */
/** @alias A B */
B::doSomething();
  1. 当前 PHPDoc(和 PSR-5)没有 @alias 或类似的标签

  2. 与 PhpStorm 相同

  3. 有一天 PhpStorm 可能会支持 class_alias()https://youtrack.jetbrains.com/issue/WI-11936 -- 观看这张票 (star/vote/comment) 以获得任何进展的通知。

  4. 我能为您提供的唯一选择是在单独的文件中创建类似 class B extends A {} 的内容,仅供 IDE 使用。顺便说一句——这就是 Laravel 外观的支持方式(一种告诉 IDE 那些 类 可以 do/what 他们拥有的方法等的方法)。