在 Netbeans 中获取 __callStatic() 的代码完成

发布于 2024-12-16 12:10:07 字数 626 浏览 0 评论 0原文

我有以下类:

/**
 * @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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

执笏见 2024-12-23 12:10:07

不,没有。您必须为每个名称添加一个 @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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文