PHP单例实例的Eclipse PDT单词完成失败

时间:2011-05-12 18:02:18

标签: php eclipse oop eclipse-pdt code-completion

我有一个基本的单例类,类似于PHP文档中显示的类:

// Based on "Example #2 Singleton Function" from
// www.php.net/manual/en/language.oop5.patterns.php
class Example {
    private static $instance;

    private function __construct() {
        echo 'I am constructed';
    }

    public static function singleton() {
        if (!isset(self::$instance)) {
            $c = __CLASS__;
            self::$instance = new $c;
        }
        return self::$instance;
    }

    public function myMethod() {
        echo 'This is my method';
    }
}

我为编写此类的实例而编写的代码是:

$myExample = Example::singleton();

使用PDT,如果我尝试使用其单词完成功能来查找此实例中的方法myMethod,则会失败。也就是说,如果我在编辑器中输入以下内容:

$myExample->

在“->”之后,我按下组合键完成单词( Ctrl + Space 在我的计算机上),Eclipse告诉我“没有默认提案“。我希望看到“myMethod”作为选择出现,但事实并非如此。

如何使单词完成工作?我需要以不同的方式配置Eclipse吗?我是否需要以不同的方式编写单身?

1 个答案:

答案 0 :(得分:4)

评论是你的朋友

/**
*
* @return Example
*/
public static function singleton() {
    if (!isset(self::$instance)) {
        $c = __CLASS__;
        self::$instance = new $c;
    }
    return self::$instance;
}

将@return注释添加到方法docblock中,eclipse应该识别并提供详细的自动完成选择。