簡體   English   中英

PHP 中的異常類型鑄造

[英]Unusual type casting in PHP

我們正在嘗試創建一個 object 可以通過 eclipse PDT 或 Zend Studio 自動完成這些方法,但我們堅持一個觀點,我想問你。

問題是; Eclipse 無法達到 class 的方法,代碼如下;

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 的解決方案,或者是否有另一種方法來創建 class?

所有(大多數)IDE 都使用文檔塊來實現更高級的自動完成功能,Zend Studio 和 Eclipse 也是如此。 一個好的 docblock 不僅可以使您的代碼有良好的文檔記錄和 phpdoc-able,還可以為您提供更好的代碼幫助!

你不能,這不是 IDE 問題。

在 php(與 java 不同)中,您不知道 function 的返回類型。 所以對於 php 來說,不可能知道Soup:getObj('Foo')會返回什么......也許是 object,也許是一個數組,也許它不會返回任何東西

在 Netbeans 中,您可以通過在 function 中添加文檔來告訴他 function 返回 Foo function 來幫助他

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM