Así que hice una pregunta similar anteriormente y ahora estoy más confundido, así que lo preguntaré de otra manera ...¿La mejor manera de devolver html desde la función php?
Lo que intento hacer es abstraer mi php y poner los bits de html, usado en mi validador como mensajes de error, en funciones que devuelven el html al lugar donde se necesitan en la página.
Lo que tengo en este momento es:
<section>
<?php
if($errMsg)
{
errMsg();
}
?>
</section>
<?php
function errMsg()
{
?>
<section>
<p>O crap! There was an error</p>
</section>
<?php
}
?>
Pero en mi pregunta se ha mencionado anteriormente, me dijeron hacerlo de esta manera es un 'truco sucio' y su mejor utilizar retorno en situaciones como esta. Pero para usar el retorno necesitaría asignar todo el html que regresa a una var y para hacerlo necesitaría poner el html en una cadena. Prefiero evitar poner más de dos líneas de html en una cadena debido al dolor en el número de citas necesarias para hacerlo.
Así que estoy pensando que o bien uso la sintaxis heredoc o las funciones ob_start/ob_get_clean. Lo que me gustaría saber es
1 ¿Debo molestarme en abstraer mi código así?
2 De ser así, ¿de qué manera es la mejor forma de hacerlo? Y/O
3 ¿Debería renunciar al desarrollo web y volver a la entrega de pizza? : - \
Por favor, perdona mi noobness, pero cuando dice separar todo mi HTML de mi PHP, ¿quiere decir mantener los diferentes idiomas en diferentes archivos? Como JavaScript discreto? Porque ahora mismo, casi todos mis archivos .php son páginas web con PHP escrito arriba del doctype. –
En la parte superior del archivo está bien, pero no mezclaría HTML con PHP directamente, es decir, usar <<< EOF o cerrar etiquetas de php para agregar HTML es un problema cuando se trata de un rediseño. Piensa para ti mismo cuándo codificas: ¿esto me dificultará la vida a la hora de rediseñar mi sitio web? La respuesta probable dada sus ejemplos es un claro sí ;-) – williamvicary
Gracias por su respuesta. Ahora bien, si mezclar el PHP en el HTML usando las etiquetas de cierre es una mala idea. ¿Cómo generarías algo desde el PHP al HTML? Por ejemplo, si un formulario regresó del servidor con un error, ¿cómo mantendría la entrada del usuario en los campos de entrada sin usar algo como value = " Php $ _POST ['username']?>"? –