Trabajando con tu sugerencia
pateketrueke he hecho lo siguiente
Código HTML:
Ver original<?php
//devuelve todo el html
function controller(){
return html(content());
}
//construye la estructura principal y el contenido
function html($content){
\ob_start();
?>
<p><?php echo $content ; ?></p> <?php
return \ob_get_contents();
}
//construye el contenido
function content(){
\ob_start();
?>
Esto es una prueba del control de salida con búfer.
<?php
return \ob_get_contents();
}
//llama al html
echo controller();
?>
Pero me he encontrado con esta salida
Código HTML:
Ver originalEsto es una prueba del control de salida con búfer.
<p> Esto es una prueba del control de salida con búfer.
<p> Esto es una prueba del control de salida con búfer.
Si hago esto otro
Código PHP:
Ver original<?php
//reemplaza
function replace($búfer){
}
//devuelve todo el html
function controller(){
return html();
}
//construye la estructura principal y el contenido
function html(){
?>
<html>
<head>
</head>
<body>
<p>{content}</p>
</body>
</html>
<?php
}
//construye el contenido
function content(){
?>
Esto es una prueba del control de salida con búfer.
<?php
}
//llama al html
echo controller();
?>
No obtengo salida de ningún tipo, ni tan siquiera con var_dump(controller()); al final del documento.
¿Qué está fallando en la primera forma?
Sobre la segunda no me preocupa porque no quiero terminar construyendo un sistema de templates xD