在 Netbeans 中获取 __callStatic() 的代码完成
我有以下类:
/**
* @method MyObject a()
*/
class MyClass {
/**
* @return MyObject
*/
public static function __callStatic($name, $arguments = NULL)
{
return new MyObject($name);
}
}
在 Netbeans 上,当我编写 MyClass::a()
时,我将在 MyObject
上获得代码完成。但是,这只能通过类上的 @method MyObject a()
注释来实现。但我的 __callStatic()
方法处理所有可能的方法名称。我希望能够编写 MyClass::something()
,然后在 MyObject
上获得代码完成。有没有什么方法可以让代码完成,而无需在 PHPDoc 中列出每个可能的方法名称?是否有类似 *()
之类的占位符?
附带问题:Eclipse 如何处理这种情况?
I have got the following class:
/**
* @method MyObject a()
*/
class MyClass {
/**
* @return MyObject
*/
public static function __callStatic($name, $arguments = NULL)
{
return new MyObject($name);
}
}
On Netbeans when I write MyClass::a()
I will get code completion on MyObject
. However, this only works thanks to the @method MyObject a()
comment on the class. But my __callStatic()
method handles every possible method name. I would like to be able to write MyClass::something()
and then get code completion on the MyObject
. Is there any way to get that code completion without listing every possible method name in the PHPDoc? Is there some kind of place holder like *()
?
Side question: How does Eclipse handle this situation?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,没有。您必须为每个名称添加一个
@method
标记。同样的情况也适用于__get()
和@property
标记。从 Netbeans 7.0.1 开始也是如此。带有 PDT 的 Eclipse 3.7 (Indigo) 的工作方式相同,并且在这种情况下也需要@method
标记。No, there is not. You have to add a
@method
tag for every name. Same thing goes with__get()
and the@property
tag. This is true as of Netbeans 7.0.1. Eclipse 3.7 (Indigo) with PDT works the same way and requires@method
tags in this situation as well.