Cita: [...] el problema estará en que no ejecuta la sentencia 'echo' o cualquiera que le pongas [...]

esto no funciona así... ya que es una cadena literal... (aunque parezca PHP dejo de serlo al ponerlo en un string)
Código:
$homepage ->contenido = "echo 'muestra esto'; ";
para evaluar como PHP debes usar
eval() o bien, ¿porque no usas buffers??
Código PHP:
function Foo()
{
$out = eval($this->contenido);
echo $out;
}
ob_start();
// ... includes, HTML, etc, etc....
$homepage->contenido = ob_get_contents();
ob_end_clean();