En este tutorial, comenzaremos a ver cómo podemos tomar datos variables y pasarlos a nuestras vistas para que se representen en el navegador. Este enfoque se adhiere a la arquitectura Model View Controller. En esta serie de tutoriales más reciente sobre Laravel, aún no hemos hablado de los modelos que normalmente tratan con la recuperación de datos, pero hemos cubierto los conceptos básicos de enrutamiento y vistasEste es un conocimiento suficiente para que podamos comenzar ahora el proceso de agregar datos dinámicos a nuestro enrutamiento y vistas, y observar cómo esto resulta en la salida al navegador.


El objetivo: enumerar algunos videojuegos

En este momento, tenemos suficiente conocimiento de los conceptos básicos que hemos aprendido hasta ahora para configurar una ruta y cargar una vista. ¿Qué tal si configuramos una ruta para que cuando la visitemos /gamesveamos una lista de juegos? Aquí hay una ruta y un archivo de vista que lo permitirá. Empezaremos haciendo esto de forma estática.


/routes/web.php


/resources/views/games.blade.php


http://54.dev/games

mostrar lista de juegos


Haz que los datos sean dinámicos

Justo arriba, tenemos una página web básica para mostrar algunos videojuegos al visitar la /gamesruta. Ahora eliminemos los valores codificados de forma rígida del archivo de vista y, en su lugar, coloquemos los nombres de los juegos en el archivo de rutas. Aquí hay una versión modificada de lo que teníamos arriba. Los datos ahora serán dinámicos.


/routes/web.php


/resources/views/games.blade.php


http://54.dev/games

mostrar lista de juegos

Como podemos ver, los datos ahora son dinámicos. Se pasa como una matriz desde el archivo de rutas a la vista para renderizar. Es importante tener en cuenta que es el segundo argumento pasado a la view()función que contiene los datos dinámicos. Ese segundo argumento debe ser una matriz. Ahora, las claves de esa matriz se convierten en los nombres de las variables en la vista . Entonces, en nuestro ejemplo aquí, ese segundo argumento es una matriz que solo tiene una clave que es gamesEsegamesLa clave en sí contiene una serie de los tres juegos que deseamos pasar a la vista. Luego, en la vista, usamos una construcción foreach estándar de PHP para recorrer cada juego y generar el resultado. ¿Necesitas ver pruebas de que esto es dinámico? Sigamos adelante y actualicemos la matriz de datos que estamos pasando y luego observemos el resultado en el navegador. (El archivo de vista no se modifica en este momento).


/routes/web.php


http://54.dev/games

nuevos datos dinámicos


La variedad de muchos formatos

Esta matriz que se pasa como segundo argumento puede tener muchas formas diferentes. Hasta ahora hemos hecho la versión en línea por así decirlo. Aquí es donde llenamos la matriz en su lugar. Esto funciona, pero puede volverse un poco engorroso a medida que crece el conjunto de datos que desea pasar. Veamos algunas formas diferentes de hacer lo mismo, por así decirlo. Los siguientes fragmentos hacen exactamente lo mismo.


En línea


Configurar una matriz de datos


El método with ()


La función compact ()


Pasar varias matrices de datos a la vez

Una buena forma de hacer las cosas es simplemente asumir que su declaración de retorno en su ruta específica se verá así:

Dado que la variable $ data es una matriz, puede contener tantas claves como necesite para almacenar datos. Así que consideremos que no solo queremos enumerar los juegos , sino también los editores de esos juegos. ¿Cómo podríamos hacer eso? ¡Veamos!


/routes/web.php


/resources/views/games.blade.php


http://54.dev/games

pasar múltiples matrices de datos a la vista

¡Fantástico! Quizás también quieras incluir el año en que se lanzó el juego. Es muy fácil escalar esto, y todo lo que tienes es la misma$datavariable que el segundo argumento deview().


/routes/web.php


/resources/views/games.blade.php


http://54.dev/games

pasando más y más datos a la vista mvc

Por supuesto, puede utilizar el método que mejor se adapte a sus necesidades. Todos aprendemos de manera diferente, y seguramente a algunos de nosotros nos gustará un enfoque y otros adoptarán un enfoque diferente. Todo depende de lo que tenga más sentido en su propia mente. Siempre trata de ponértelo fácil.


Hacer uso de la hoja

En los ejemplos hasta ahora, usamos PHP estándar para presentar los datos al navegador en los archivos de vista. ¿Y si te dijera que hay una forma mucho más fácil de hacer esto? Bueno, te lo digo, la hay y se llama Blade. Veamos cómo podemos hacer uso de la hoja para permitir una sintaxis más fácil de escribir.

Tome este código que genera una lista desordenada y hágalo un poco más fácil de escribir y razonar.

Si tomamos la tabla que renderizamos anteriormente, también podemos actualizarla para usar blade.


Cómo pasar datos a vistas en resumen de Laravel

Cuando comenzamos, simplemente estábamos trabajando en la configuración de una ruta y luego renderizando una vista. En este tutorial, dimos un paso más y analizamos cómo puede pasar datos dinámicos a sus vistas. En nuestro archivo de rutas, vimos que usamos la función view (). Su primer argumento es una cadena que especifica qué archivo de vista cargar. El segundo argumento de view () es una matriz que contiene datos dinámicos que podemos pasar al archivo de vista. Analizamos de cerca cómo usar esta matriz, así como cómo acceder a los datos en nuestros archivos de vista utilizando PHP nativo y el motor de plantillas Blade de Laravel.