Phpdocumentor2の場合、ジェネレーターであるメソッドを文書化する最良の方法は何ですか。
私は思いません@return
は本当にyield
で機能しますが、適切な代替手段を見つけることができません。
Phpdocが追いつくのを待つだけの問題ですか?
私は@return Generator|SomeObject[]
、ここでSomeObject
は生成されるものです。
PhpStormもこれを適切に処理します。これは、通常はGenerator
メソッドのヒントを示し、反復するとSomeObject
メソッドのヒントを示すためです。
(それでも、ネイティブ@yield
。)
PHP Manual から:
ジェネレータ関数が初めて呼び出されると、内部ジェネレータクラスのオブジェクトが返されます。
厳密に言えば、@return Generator
は正しいでしょうが、ジェネレーターを反復処理したときに何が返されるかを説明するものではありません。