Dan*_*ugg 3 php alias netbeans code-completion
快一点; 用于PHP开发的Netbeans 7.0:
有没有办法通知NetBeans何时class_alias用于别名类,从而触发别名的代码完成?
class Foo{
public static $hello = 'world';
}
class_alias('Foo', 'Bar');
Bar::$h // triggers code completion for $hello
^
Run Code Online (Sandbox Code Playgroud)
我仍然在努力变得熟练使用NetBeans,并且没有真正使用配置,所以我希望有一些我可以修改的项目特定配置.
在此先感谢大家.
有趣的是,我能 不能请参阅下文,而不是使用命名空间的use(虽然我的项目,否则命名空间免费),达到什么样的NetBeans将明白:
class Foo{
public static $hello = 'world';
}
use \Foo as Bar;
Bar::$h // DOES trigger code completion for $hello
^
Run Code Online (Sandbox Code Playgroud)
我不知道这是否是一个可行的解决方案.我的Loader类还包含一个映射,alias => classname当给定的类自动加载时,load方法会在必要时搜索映射和别名.
这不会像希望的那样工作,use完全不适合任何类型的动态别名:
use在函数或方法中发出解析错误.use不支持动态命名; use \{$class} as {$alias};是非法的.use不进行文件包含,从而使其使用......好吧,没用.潘-tastic.我设法为此创建了一些解决方法
在项目的引导程序中,您可以创建别名
class_alias('Some\Namespaced\ClassName', 'aliasName');
class_alias('Some\Namespaced\ClassName2', 'anotherAlias');
Run Code Online (Sandbox Code Playgroud)
为了让Netbeans选择它,你可以在项目的某个地方创建一个虚拟文件.例如.aliases.php
class aliasName extends \Some\Namespaced\ClassName{}
class anotherAlias extends \Some\Namespaced\ClassName2{}
Run Code Online (Sandbox Code Playgroud)
Extend并不直接等同于class_alias,但是出于代码提示的目的,它可以正常工作.
重要!实际上不要将此文件包含在项目的任何位置,仅仅存在此文件将允许Netbeans生成代码提示.
| 归档时间: |
|
| 查看次数: |
608 次 |
| 最近记录: |