En este artículo, vamos a ver como convertir un array php a javascript gracias a una directiva muy fácil de Blade.
Hemos vistos lo poderoso que puede llegar a ser Blade y sus directivas. Ya que, nos permite realizar diversas cosas con muy poco esfuerzo, como vimos en algunos de estos artículos:
En este Laravel Tip les voy a enseñar una forma de transformar los array php en formato JSON para que sea mas fácil procesarlos con javascript.
¿Por qué no hacerlo con código php?
A veces, necesitamos pasar un array a una vista con la intención de representarla como un objeto JSON y asignarla a una variable JavaScript. De esta forma, logramos manejar la variable como un objeto JavaScript.
Lo malo, es que estamos utilizando código php dentro de la vista y esto NO es una buena práctica.
Utilizando la directiva @json de Blade
Así que, para mantener las buenas prácticas, Blade nos proporciona la directiva @json
y la podemos utilizar de la siguiente forma:
De esta forma queda mucho mas limpio y fácil.
¿Por qué es mala práctica poner código PHP en JavaScript?
Ya quedo en el pasado estar poniendo código PHP en los template HTML o JavaScript y siempre es bueno mantener un orden de las cosas. Por este motivo, los frameworks modernos tienen una base de MVC (Modelo-Vista-Controlador) con distintas herramientas para cada una de estas capas.
En Laravel, tenemos a Blade como sistema de templating y si bien, en el fondo se esta ejecutando código PHP, es distinto. Ya que nos permite cachear cada template de Blade y que no se ejecute el mismo código PHP en cada solicitud. Además que, las directivas de Blade son mas simples y hacen que nuestro código quede totalmente comprensible.
Por estos motivos, es aconsejable usar código PHP lo menos posible (si es posible, nunca) en tus vistas.
Versión disponible
La directiva @json de Blade, esta disponible en Laravel 5.5.⭐
Conclusión
Espero que les haya gustado este Laravel Tip y los animo a utilizarlas todas las directivas de Blade que puedan. Les hará la vida mas fácil. 😁🤙