我有以下课程:
/**
* @method MyObject a()
*/
class MyClass {
/**
* @return MyObject
*/
public static function __callStatic($name, $arguments = NULL)
{
return new MyObject($name);
}
}
在撰写MyClass::a()
时,在Netbeans上,我将在MyObject
上获得代码完成。但是,这仅适用于该课程的@method MyObject a()
评论。但我的__callStatic()
方法处理每个可能的方法名称。我希望能够编写MyClass::something()
,然后在MyObject
上完成代码。有没有办法在不在PHPDoc中列出每个可能的方法名称的情况下完成代码的完成?是否有某种占位符,如*()
?
附带问题:Eclipse如何处理这种情况?
答案 0 :(得分:5)
不,没有。您必须为每个名称添加@method
标记。 __get()
和@property
标记也是如此。从Netbeans 7.0.1开始就是如此。 Eclipse 3.7(Indigo)与PDT的工作方式相同,在这种情况下也需要@method
个标签。