For example when implementing a singleton:
class Singly {
/**
* Get the instance
* @return Singly
*/
public static function getInstance() {
// Some code here...
}
}
The @return Singly could instead be @return this, @return static or @return self or something like that.
This would be most useful for traits, which I know you are not focused on right now, but also useful in general:
What if you have a function which returns $this and extend the implementing class? Then the function really returns an instance of the extending class, and this would be really useful to be able to determine for IDE auto completion.