PHP References

I recently found this while going through PHP’s online documentation:

Do not use return-by-reference to increase performance, the engine is smart enough to optimize this on its own. Only return references when you have a valid technical reason to do it!

So, the question becomes, what is a valid technical reason to use references? Objects are already passed and returned by reference, so using references for them is a waste. In the last couple years of PHP coding, I have only found one good use for references:

    
public function getNextLine(&$str){
    ....
    $next_line = substr($str,0,10);
    $str = substr($str, 10);
    ....
    return $next_line;
}

Parsing functions are the only place that I have effectively used references. Even then, there are perfectly viable alternative solutions, like returning an array of the next line and string.

So, the moral of the story is: try to stay away from references in most cases. They can confuse the code, without adding much benefit.