【发布时间】:2012-03-28 01:45:35
【问题描述】:
我有以下代码:
class Orders{
/**
*
* @var Supplier
*/
private $suppliers; //Array of Supplier
function loopAllSuppliers(){
foreach($this->suppliers as $supplier){
$supplier->/*no suggestion*/ //Can't get the method's to show here
$this->suppliers->getSupplierName(); //methods in class Supplier show normally here
}
}
}
问题很简单。我只想能够为我的变量 $supplier 声明一个类型,就像我使用 $suppliers 所做的那样。
注意事项:
- Supplier 是一个具有公共方法 getSupplierName() 的类。
- 我正在使用 Netbeans IDE。
【问题讨论】:
-
如果您的
$suppliers是Supplier的数组,那么您的phpDoc 注释是错误的。在其他 IDE 中,您可以将这样的数组注释为@var Supplier[],您尝试过吗? -
@DCoder 是的
$suppliers是Supplier的数组,我尝试了@var Supplier[],但它不起作用。实际上将其更改为@var Supplier[]并没有为$this->suppliers->显示任何建议 -
好吧,如果它是一个数组,它实际上并没有任何方法,不是吗?
-
hmmmm 似乎解决方案是在 Netbeans 中找到用于将变量声明为对象数组的注释。但是找不到它的语法。
-
这里正确的注释/标签语法确实是“var Supplier[]”。这将很快被标准化,并且 IDE 可能会在标准化后的某个时间开始添加基于看到此语法的自动完成功能。
标签: php netbeans autocomplete foreach phpdoc