我使用class_alias函数为静态类创建别名:
<?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();
当前的PHPDoc(和PSR-5)没有@alias
标签或类似标签
与PhpStorm相同
有一天PhpStorm可能支持class_alias()
。https://youtrack.jetbrains.com/issue/WI-11936-观看这张票(star / vote / comment)以获取任何进展的通知。
我可以提供的唯一选择是class B extends A {}
在单独的文件中创建类似内容,仅IDE可以使用。顺便说一句-这就是Laravel的外观所支持的方式(一种告诉IDE这些类可以做什么/它们具有什么方法的方法等等)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句