Comparte en Facebook Twitter Google+

combinar-html-y-php

Todos amamos las sintaxis que nos provee el motor de plantillas Blade para escribir nuestras vistas, y no es el único, hay otros motores de plantillas geniales como Twig o Smarty, escritos en y para PHP.

Pero imaginemos por un momento que tienes un proyecto que no está usando ningún framework: quizás te toque escribir código para WordPress como a mí, o editar algo de “legacy code” de un proyecto, e instalarle Smarty o algún otro template engine no es una opción viable.

¿Qué hacer cuando debemos editar y mezclar PHP y HTML?

Nos hemos acostumbrado a escuchar que usar “echo” es malo y que mezclar HTML y PHP es horrible, es verdad que no va a ser la “mejor sintaxis del mundo”, pero tampoco tiene que ser tan malo, verás, cuando te encuentras con código como el siguiente:

El culpable no es PHP, sino lo que está entre el teclado y la silla, como se suele decir.

Te voy a dar algunos tips que te permitirán mezclar PHP y HTML sin producir un resultado terrible:

1. Utiliza la sintaxis alternativa de PHP, es decir:

2. Siempre utiliza la sintaxis multi línea para estructuras de control, es decir:

3. Esto nos lleva al punto 3, el hecho de que uses etiquetas de HTML y PHP en un mismo archivo, no quiere decir que debas escribir HTML dentro de las sentencias de PHP, en otras palabras:

4. Y esto nos lleva al punto 4, utiliza la etiqueta corta <?= $var ?>  para imprimir (es equivalente a <?php echo $var ?> )

5. Por la misma lógica del punto 3, llego a la conclusión del punto 5, no mezcles lógica de programación con lógica de vista, no tienes porqué hacerlo, incluso aunque estés trabajando en un mismo archivo, puedes colocar la lógica de la aplicación (operaciones, llamadas a la base de datos etc.) en la cabecera del archivo, y la lógica de la vista (imprimir variables, HTML) al final, por ejemplo, esto está muy mal:

Mientras que lo siguiente está mejor:

Por supuesto, a estas alturas deberías usar PDO para conectarte a la base de datos y no mysql_query, pero el ejemplo ilustra simplemente cómo puedes separar la lógica de la aplicación (base de datos, etc.) de la lógica de la vista (HTML)

6. Procura abrir y cerrar las etiquetas de PHP en una misma línea, esto es, escribir una sola línea de PHP a la vez, en otras palabras:

Lo primero es más fácil de modificar, a la hora de que necesites agregar HTML o líneas extras.

Con todos estos tips, podemos convertir el primer ejemplo de este post de esto:

A esto:

O si quieres indentar un poco más:

¿Notas la diferencia?

Veamos el mismo ejemplo con Blade:

O con Smarty:

Por supuesto que las sintaxis de Blade y de Smarty son mucho más limpias y cortas que nuestro ejemplo en PHP mejorado ¡Pero ya la diferencia no es tan radical! Como ves entonces el problema no estaba con PHP o con “echo” sino entre la silla y el teclado.

Conclusión

1. Siempre tenemos la oportunidad de mejorar (o arruinar) nuestro código, no importa si estamos trabajando con un framework como Laravel, con PHP plano, con WordPress, con Ruby o Python, etc.

2. Debemos culpar menos a las herramientas que usamos y ser más activos en buscar mejoras y soluciones en cualquier proyecto o tecnologías con las que estemos trabajando.

¿Te gustó el tutorial? ¿Quieres ver otros tutoriales como éste? Por favor compártelo y déjanos un comentario.

Tutoriales recomendados:

Regístrate hoy en Styde y continua mejorando tus habilidades: ver planes.

Lección anterior Organizar código PHP con CS Fixer siguiendo los estándares PSR