What is the best way to document, for phpdocumentor2, a method that is a generator.
I don't think @return really works for yield, but I can't seem to find any proper alternative.
Is it just a matter of waiting for phpdoc to catch up?
What is the best way to document, for phpdocumentor2, a method that is a generator.
I don't think @return really works for yield, but I can't seem to find any proper alternative.
Is it just a matter of waiting for phpdoc to catch up?
 
    
     
    
    I went with @return Generator|SomeObject[], where SomeObject is the thing being yielded.
PhpStorm handles this well too, as it now normally hints Generator methods and when iterated it hints SomeObject methods.
(Still, I would prefer a native @yield.)
Update (2023): nowadays there's good support for the new format Generator<SomeObject> as well, as suggested by Thanh in a below answer. Duplicating it here for visibility.
 
    
    When a generator function is called for the first time, an object of the internal Generator class is returned.
So strictly speaking, @return Generator would be correct, although not super descriptive of what you can expect to get back when you iterate over the generator. 
