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.