2010-07-30 92 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"; 
    } 

} 

键入/**并按下回车键右侧前一个方法或变量会引发这样的块的创建,只要它已经被写入...