我正在努力让NetBeans 6.8代码完成。它本身似乎没有这样做,但我想知道是否有一些phpdoc魔法或可能有所帮助的东西,因为它似乎非常擅长使用它。
采取以下两个类:
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),那么在包含这两个文件之后做同样的事情只给出无建议。
有什么想法吗?提前谢谢!
答案 0 :(得分:2)
我认为netbeans不会考虑你所做的实际包含,而是关注项目的包含路径。设置它,它应该工作。原因可能与大多数人无论如何都使用自动加载这一事实有关,并且接下来会有点太多问题。
答案 1 :(得分:2)
在大多数情况下,它适用于我,但如果您遇到问题,请在使用/* @var $variable ClassName */
之前使用$A = new A()
您可以使用此快捷方式:键入vdoc
并按Tab键。
答案 2 :(得分:1)
延伸到Mchl的anwser:
如果两个文件都在您的项目中,并且您使用了正确的文档块,则代码完成将找到您要查找的内容。举个例子:
/**
* Class A
*
* @author Yourname <And@Email>
* @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";
}
}
在方法或变量之前键入/**
并点击右键将触发创建此类块,前提是它已经写好了......