带有延迟加载的phpdoc @return

时间:2013-07-01 13:11:34

标签: return phpdoc

我不知道如何记录我的自动完成方法。

我的模型Training有一个getAnimators()方法,它返回一个实现SeekableIterator和Countable的Db_MysqlResult。当我迭代它时,这个Db_MysqlResult将创建我的Animator对象,例如:

<?php
foreach ($training->getAnimators() as $animator) {
    // Autocompletion shows me next, seek, etc. not getName
    echo $animator->getName(); 
}
?>

我可以在我的getAnimators()中编写@return Animators [],即使它不是真的,因为它返回一个Db_MysqlResult?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您正在寻找自己的$ animator变量来自动填充其方法,那么最好的选择可能是在那里添加一个@var行提示:

/** @var Animator $animator */
echo $animator->

某些IDE能够将@var行识别为类型提示并使用它来为您提供自动完成功能。

但是,我不知道任何IDE会识别你的$ training-&gt; getAnimators()的返回值,并且自动知道$ animator的类型,只是因为它们在foreach()中绑定在一起。