记录(phpdoc)生成器的最佳方式(产生的方法)

记录(phpdoc)生成器的最佳方式(产生的方法),php,generator,phpdoc,php-5.5,Php,Generator,Phpdoc,Php 5.5,对于phpdocumentor2来说,记录作为生成器的方法的最佳方式是什么 我不认为@return对收益率有效,但我似乎找不到任何合适的替代方案 这只是等待phpdoc赶上的问题吗?: 第一次调用生成器函数时 返回内部生成器类 严格地说,@return Generator是正确的,尽管它不能超级描述您在遍历该生成器时期望得到的结果 我使用了@returngenerator | SomeObject[],其中SomeObject是正在生成的东西 PhpStorm也能很好地处理这个问题,因为它现在通

对于phpdocumentor2来说,记录作为生成器的方法的最佳方式是什么

我不认为
@return
收益率
有效,但我似乎找不到任何合适的替代方案

这只是等待phpdoc赶上的问题吗?

:

第一次调用生成器函数时 返回内部生成器类


严格地说,
@return Generator
是正确的,尽管它不能超级描述您在遍历该生成器时期望得到的结果

我使用了
@returngenerator | SomeObject[]
,其中
SomeObject
是正在生成的东西

PhpStorm也能很好地处理这个问题,因为它现在通常提示
Generator
方法,并且在迭代时提示
SomeObject
方法


(尽管如此,我还是更喜欢原生的
@yield

IMHO
@return
是合适的,因为它表示您从生成器中得到了什么。到目前为止,还没有规范的方法可以做到这一点。你是正确的,
@return
肯定是错误的。最有可能的语法是
@yield V
@return Generator
,可能还可以指定K、S和R。另请参见@NikiC您的回复应该作为答案发布。编辑器提示:Netbeans只需在
@return
中添加
SomeObject
(或
\SomeObject
)即可提示SomeObject的方法。PhpStorm需要在类型(
SomeObject[]
)的末尾添加额外的
[]
)。所以我认为最好的选择是像@robert writed:
@return Generator |\SomeObject[]
那样编写它。那么从PHP7开始的
Generator->getReturn()
呢?这将更难提示。你有什么建议?这是一个非常聪明的解决方案!这应该是正确的答案。真的很有帮助。非常感谢。