PHP中的异常类型转换

时间:2011-08-11 09:18:25

标签: php eclipse zend-studio eclipse-pdt

我们正在尝试创建一个对象,其中的方法可以通过eclipse PDT或Zend Studio自动完成,但我们陷入了困境,我想问你。

问题是; Eclipse无法使用下面的代码到达类的方法;

class Soup {
    private static $_obj;

    public function __construct(){}

    public static function getObj($objName){
        if(isset(self::$_obj)) {
            return self::$_obj;
        } else {
            self::$_obj = new $objName;
            return self::$_obj;
        }
    }
}

class Foo extends Obj {

}

class Obj {     
    public function test() {}
}
// This is what we are trying to reach;
Soup::getObj('Foo')->test();

在PHP中没有问题,但在Eclipse PDT或Zend Studio中,自动完成没有完成 - > test()部分。是否有代表Eclipse PDT的解决方案,还是有另一种方法来创建该类?

2 个答案:

答案 0 :(得分:2)

所有(大多数)IDE都使用docblock来获得更高级的自动完成功能,它与Zend Studio和Eclipse相同。一个好的docblock不仅可以使你的代码有良好的文档记录和phpdoc-able,还可以为你提供更好的代码帮助!

答案 1 :(得分:1)

你做不到,这不是IDE的问题。

php中的

(与java不同)你不知道函数的返回类型。所以对于php来说,不可能知道Soup:getObj('Foo')会返回什么......可能是一个对象,也许是一个数组,或者它可能不会返回任何东西

在Netbeans中你可以通过在函数中添加一个文档来告诉他函数返回一个Foo对象来帮助他

希望这有助于