¿Por qué utilizas "while" cuando sabes que el resultado siempre será uno? No es necesario hacerlo a menos que esperes más de un resultado.
En ese caso solamente deberías de retornar el objeto completo:
Código PHP:
public function mostrar() {
$item = $this->findItemById(1);
echo $item['name'];
}
Te recomendarías utilizar return del array completo, algo así:
Código PHP:
public function mostrar($id) {
$item = $this->findItemById($id);
if(count($item)>0){
return $item;
}
return false; // O algún error o lo que tu quieras para saber que no existe este "id"
}
Trata de no hacer "echo" de una función de una clase, no es muy buena idea.
Saludos.