<?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是否有一些魔力来帮助自动完成以告知别名类的类型以启用自动完成功能,如下所示:
<?php
// /** @alias <full_name_of_original_class> <alias_name> */
/** @alias A B */
B::doSomething();
答案 0 :(得分:3)
当前的PHPDoc(和PSR-5)没有@alias
或类似的标记
与PhpStorm相同
有一天,PhpStorm可能会支持class_alias()
。 https://youtrack.jetbrains.com/issue/WI-11936 - 观看此机票(星级/投票/评论)以获得有关任何进展的通知。
我能为您提供的唯一选择是在单独的文件中创建class B extends A {}
之类的内容,仅供IDE使用。顺便说一句 - 这就是Laravel的外观如何得到支持(告诉IDE这些课程可以做什么/他们有什么方法等)。