Laravel - Vistas

En el marco MVC, la carta “V” representa Views. Separa la lógica de la aplicación y la lógica de presentación. Las vistas se almacenan enresources/viewsdirectorio. Generalmente, la vista contiene el HTML que será servido por la aplicación.

Ejemplo

Observe el siguiente ejemplo para comprender más sobre las vistas:

Step 1 - Copie el siguiente código y guárdelo en resources/views/test.php

<html>
   <body>
      <h1>Hello, World</h1>
   </body>
</html>

Step 2 - Agregue la siguiente línea en app/Http/routes.php archivo para establecer la ruta para la vista anterior.

app/Http/routes.php

Route::get('/test', function() {
   return view('test');
});

Step 3 - Visite la siguiente URL para ver el resultado de la vista.

http://localhost:8000/test

Step 4 - La salida aparecerá como se muestra en la siguiente imagen.

Pasar datos a vistas

Mientras se crea la aplicación, es posible que sea necesario pasar datos a las vistas. Pase una matriz para ver la función auxiliar. Después de pasar una matriz, podemos usar la clave para obtener el valor de esa clave en el archivo HTML.

Ejemplo

Observe el siguiente ejemplo para comprender mejor cómo pasar datos a las vistas:

Step 1 - Copie el siguiente código y guárdelo en resources/views/test.php

<html>
   <body>
      <h1><?php echo $name; ?></h1>
   </body>
</html>

Step 2 - Agregue la siguiente línea en app/Http/routes.php archivo para establecer la ruta para la vista anterior.

app/Http/routes.php

Route::get('/test', function() {
   return view('test',[‘name’=>’Virat Gandhi’]);
});

Step 3 - El valor del nombre de la clave se pasará al archivo test.php y $ name será reemplazado por ese valor.

Step 4 - Visite la siguiente URL para ver el resultado de la vista.

http://localhost:8000/test

Step 5 - La salida aparecerá como se muestra en la siguiente imagen.

Compartir datos con todas las vistas

Hemos visto cómo podemos pasar datos a las vistas pero, a veces, es necesario pasar datos a todas las vistas. Laravel hace esto más simple. Hay un método llamadoshare()que se puede utilizar para este propósito. losshare()El método tomará dos argumentos, clave y valor. Típicamenteshare()se puede llamar al método desde el método de arranque del proveedor de servicios. Podemos utilizar cualquier proveedor de servicios,AppServiceProvider o nuestro propio proveedor de servicios.

Ejemplo

Observe el siguiente ejemplo para comprender mejor cómo compartir datos con todas las vistas:

Step 1 - Agregue la siguiente línea en app/Http/routes.php archivo.

app/Http/routes.php

Route::get('/test', function() {
   return view('test');
});

Route::get('/test2', function() {
   return view('test2');
});

Step 2 - Crea dos archivos de vista - test.php y test2.phpcon el mismo código. Estos son los dos archivos que compartirán datos. Copie el siguiente código en ambos archivos.resources/views/test.php & resources/views/test2.php

<html>
   <body>
      <h1><?php echo $name; ?></h1>
   </body>
</html>

Step 3 - Cambiar el código del método de arranque en el archivo app/Providers/AppServiceProvider.phpComo se muestra abajo. (Aquí, hemos utilizado el método de compartir y los datos que hemos pasado se compartirán con todas las vistas).app/Providers/AppServiceProvider.php

<?php

namespace App\Providers;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider {
   
   /**
      * Bootstrap any application services.
      *
      * @return void
   */

   public function boot() {
      view()->share('name', 'Virat Gandhi');
   }

   /**
      * Register any application services.
      *
      * @return void
   */

   public function register() {
      //
   }
}

Step 4 - Visit las siguientes URL.

http://localhost:8000/test
http://localhost:8000/test2

Step 5 - La salida aparecerá como se muestra en la siguiente imagen.