Entre las mezclas más utilizadas en la actualidad está tener un sistema de persistencia programado, que en este caso puede ser en PHP con Laravel y luego todo el front-end manejarlo con Javascript, u otro lenguaje que solo se encargue de la capa de presentación.
Para poder comunicarse ambas partes dependen de un lenguaje en común y este es JSON, con lo cual la transmisión de datos puede darse bajo un dialecto en común y así evitar incompatibilidades.
Construir el controlador
Para desarrollar esta funcionalidad debemos tener una instalación estándar de Laravel únicamente, no hay requisitos adicionales. Luego que cumplamos lo anterior podemos seguir los siguientes pasos.
1- Primero vamos a crear un controlador en la carpeta controllers, podemos llamarlo LibrosController.php, aquí vamos a establecer un método que nos dé una vista básica del controlador, y además un método que va a tomar una fuente de libros en este caso un Array y va a generar una respuesta con el método de la clase Response llamado json(). Veamos en la siguiente imagen el código generado:
2- Ya que hemos construido el controlador ahora debemos activarlo en nuestro archivo routes.php, con esto podremos hacer el recurso accesible dentro de la aplicación, para ello solo necesitaremos el siguiente código:
Route::controller('libros', 'LibrosController');
3- Finalmente vamos a crear una carpeta llamada libros en el directorio views de nuestra aplicación, dentro de nuestro nuevo directorio, vamos a crear una vista en un archivo llamado index.php, que se va a encargar de hacer peticiones mediante AJAX al controlador, para ello nos valdremos de jQuery y sus métodos AJAX y así conectarnos vía GET con el controlador que hemos generado en el primer paso, una vez que el controlador nos dé una respuesta podemos mediante el mismo jQuery incorporar el contenido obtenido en nuestra vista de forma asíncrona y así darle un significado a los datos, veamos el código que necesitaremos:
Para lograr el objetivo llamamos la librería jQuery desde la CDN de Google, luego ya dentro de la página como tal creamos un par de elementos que van a interactuar con el pequeño script que llama a nuestro controlador mediante un método GET, finalmente lo recibido es colocado en el elemento libro-list para que podamos ver el resultado de lo desarrollado.
Con esto finalizamos este tutorial, en el cual pudimos ver que fue muy fácil construir el controlador, esto es gracias a la clase Response, ya que con el método que en ella reside json(), podemos asegurarnos que todos los arrays que le pasemos serán convertidos de forma válida al formato JSON, por lo que podemos pasarle por ejemplo un contenido dinámico de una búsqueda de base de datos, esto nos facilita la vida ya que no tenemos que construir a mano una funcionalidad que construya un resultado JSON.