Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
phpdoc@return,延迟加载_Return_Phpdoc - Fatal编程技术网

phpdoc@return,延迟加载

phpdoc@return,延迟加载,return,phpdoc,Return,Phpdoc,我不知道如何记录我的自动完成方法 My model Training有一个getAnimators()方法,该方法返回一个Db_MysqlResult,它实现SeekableIterator和Countable。此Db_MysqlResult将在我对其进行迭代时创建我的Animator对象,例如: <?php foreach ($training->getAnimators() as $animator) { // Autocompletion shows me next,

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

My model Training有一个getAnimators()方法,该方法返回一个Db_MysqlResult,它实现SeekableIterator和Countable。此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


提前感谢您的帮助。

如果您正在寻找$animator变量来自动完成其方法,您最好在其中添加@var行提示:

/** @var Animator $animator */
echo $animator->
一些IDE能够将@var行识别为类型提示,并使用它实现自动完成


但是,我不知道有哪一个IDE能够识别$training->getAnimators()的返回值,并自动知道$animator的类型,因为它们在foreach()中绑定在一起。

这就是我正在做的,但我希望避免它。我的问题不是如何获得var$animator的自动完成,而是如何根据加载对象的方式编写phpdoc。好吧,我被你的第一句话“如何记录我的自动完成方法”甩了。根据您对getAnimators()确实预生成Animator对象并返回SeekableTerator集合(类似于数组,但不完全是数组)的描述,在我看来,“@return Animator[]”表示Animator对象集合是记录它的“正确”方式。它应该显示“Animator[]”而不是“Animators[]”,因为“数组”的每个成员都是一个Animator实例。当我使用SeekableTerator的“current”方法时,该类是实例化的,所以首先我的集合不包含Animator对象,这就是问题所在。但正如你所说,写@return Animator[]没问题,所以我会写。