eclipse pdt中的代码完成和工厂模式

fsw*_*fsw 8 php eclipse factory eclipse-pdt code-completion

假设我在PHP代码中有一个典型的工厂模式:

abstract class Model
{
    function m()
    {
    }
}

class model_A
{
    function a()
    {
    }
}

class model_B
{
    function b()
    {
    }
}

function modelFactory($name)
{
    $className = 'model_' . $name;
    $object = new $className();
    // ... do some magic stuff ...
    return $object;
}
Run Code Online (Sandbox Code Playgroud)

我知道@var和@return phpdoc标签,但在输入之后是否有任何神奇的方法:

$x = modelFactory('A');
Run Code Online (Sandbox Code Playgroud)

Eclipse会知道$ x是model_A的一个实例吗?

我可以在某处定义一个固定的字符串向量,如下所示:

"modelFactory('A')" => "new model_A()"
"modelFactory('B')" => "new model_B()"
Run Code Online (Sandbox Code Playgroud)

在处理代码完成之前,Eclipse要在内存中替换.

小智 0

我使用 eclipse 和 pdt 已经近 3 年多了,但对你的问题没有完美的答案

我认为 Zend Studio 9 可以解决你的问题,对于代码完成来说它比 pdt 好得多。

http://www.zend.com/en/products/studio/downloads