2010-07-30 91 views
1

我試圖讓NetBeans 6.8代碼完成爲此工作。它似乎不是自己做的,但我想知道是否有一些phpdoc的魔法或可能有所幫助,因爲它看起來非常擅長使用它。Netbeans代碼完成跨類文件

採取以下兩類:

class A { 

    public $B; 
    public function __construct() { 
     $this->B = new D(); 
    } 
    public function C() { 
     echo "C"; 
    } 

} 

class D { 

    public $E; 
    public function __construct() { 
     // Do stuff. 
    } 
    public function F() { 
     echo "F"; 
    } 

} 

現在,讓我們說我做$A = new A();,然後開始鍵入$A->B->

假設兩個類都在同一個文件中定義,這個完美的作品。我得到了有關E變量和F方法的代碼完整建議。然而,如果這些類分別分解爲A.php和D.php,並且包含在另一個文件(比如index.php)中,那麼在包含這兩個文件之後做同樣的事情只會給出無建議。

任何想法?提前致謝!

回答

2

我認爲netbeans並不是看你實際包含的東西,而是看項目的包含路徑。設置它,它應該工作。原因可能與大多數人使用自動加載無關的事實有關,接下來會有點太多要問。

2

它爲我的作品在大多數情況下,但如果你有問題行之前使用/* @var $variable ClassName */$A = new A()

您可以使用此快捷方式:類型vdoc和壓片。

1

要在MCHL的anwser延長:

如果兩個文件都在你的項目中,並使用正確的文檔塊,代碼完成會發現你在找什麼。舉個例子:

/** 
* Class A 
* 
* @author Yourname <[email protected]> 
* @package Example 
*/ 
class A { 

    /** 
    * @var D 
    */ 
    public $B; 

    /** 
    * Constructor 
    */ 
    public function __construct() { 
     $this->B = new D(); 
    } 

    /** 
    * Function C 
    * 
    * @return string 
    */ 
    public function C() { 
     return "C"; 
    } 

} 

鍵入/**並按下回車鍵右側前一個方法或變量會引發這樣的塊的創建,只要它已經被寫入...