Posible capturar la salida de eco de PHP?

Entonces tengo una función como:

public static function UnorderedList($items, $field, $view = false){ if(count($items) > 0){ echo ''; }else{ echo '

No Items...

'; } }

Esta función recorre algunos elementos y genera una lista desordenada. Lo que me pregunto es si es posible capturar la salida de eco si lo deseo.

Hago un llamado para usar esta función haciendo algo como:

 Render::UnorderedList(Class::getItems(), Class::getFields(), true); 

Y esto arrojará una lista desordenada a mi página. Sé que puedo simplemente cambiar el eco de una variable y devolver la variable, pero tenía curiosidad si es posible capturar la salida de eco sin modificar esa función, simplemente modificando la llamada a la función de alguna manera.

¡Gracias!

Sí, usando buffer de salida .

  

Muy similar a la respuesta anterior, pero un poco más conciso para mis propósitos:

  

También quiero mencionar cuán útil es esto para las pruebas de unidad PHP para no saturar los registros de prueba con el resultado de lo que está probando a menos que la prueba falle. Aquí hay otra respuesta de stackflow relacionada con esto porque encontré esta respuesta primero en mi búsqueda de google cuando estaba buscando cómo probar elementos con salida de eco: ¿Cómo usar el buffering de salida dentro de la prueba de PHPUnit?