快一点;用于PHP开发的Netbeans 7.0:
有没有办法在class_alias
被用来为别名设置别名时通知NetBeans,从而触发别名的代码完成?
class Foo{
public static $hello = 'world';
}
class_alias('Foo', 'Bar');
Bar::$h // triggers code completion for $hello
^
我仍然在努力变得熟练使用NetBeans,并且没有真正使用配置,所以我希望有一些我可以修改的项目特定配置。
先谢谢你们。
有趣的是,我可以 不能 参见下面的而是使用命名空间的use
(虽然我的项目不然无名称空间)以实现NetBeans将理解的内容:
class Foo{
public static $hello = 'world';
}
use \Foo as Bar;
Bar::$h // DOES trigger code completion for $hello
^
我不知道这是否是一个可行的解决方案。我的 Loader
类还包含alias => classname
的映射,当给定的类自动加载时,load方法会在必要时搜索映射和别名。
这不会像预期的那样有效,因为use
完全不适合任何类型的动态别名:
use
会发出解析错误。use
不支持动态命名; use \{$class} as {$alias};
是非法的。use
不执行文件包含,从而使其使用......好吧,没用。本利tastic。答案 0 :(得分:6)
我设法为此
创建了一些解决方法在项目的引导程序中,您可以创建别名
class_alias('Some\Namespaced\ClassName', 'aliasName');
class_alias('Some\Namespaced\ClassName2', 'anotherAlias');
为了让Netbeans选择它,你可以在项目的某个地方创建一个虚拟文件。 例如。 aliases.php
class aliasName extends \Some\Namespaced\ClassName{}
class anotherAlias extends \Some\Namespaced\ClassName2{}
Extend并不直接等同于class_alias,但是出于代码提示的目的,它可以正常工作。
重要!实际上不要将此文件包含在项目的任何位置,仅存在此文件将允许Netbeans生成代码提示。
答案 1 :(得分:2)
不,对不起,我认为没有。
我必须说class_alias
对我来说是新的!