No necesariamente, cuando tu funcion regresa un objeto en PHP5 puedes acceder al metodo sin tener que pasarlo a una variable.
Algo asi:
Código PHP:
class prueba {
function algo() {
return $this;
}
function habla() {
echo "hola";
}
}
$prueba = new prueba();
$prueba->algo()->algo()->algo()->algo()->algo()->algo()->algo()->habla();
En PHP4 tenias que hacer algo asi:
Código PHP:
$prueba = new prueba();
$obj = $prueba->algo();
$obj2 = $obj->algo();
$obj3->habla();