Laravel - Vistas

Na estrutura MVC, a carta “V” apoia Views. Ele separa a lógica do aplicativo e a lógica da apresentação. As visualizações são armazenadas emresources/viewsdiretório. Geralmente, a visualização contém o HTML que será servido pelo aplicativo.

Exemplo

Observe o exemplo a seguir para entender mais sobre Visualizações -

Step 1 - Copie o seguinte código e salve-o em resources/views/test.php

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

Step 2 - Adicione a seguinte linha em app/Http/routes.php arquivo para definir a rota para a vista acima.

app/Http/routes.php

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

Step 3 - Visite o seguinte URL para ver o resultado da visualização.

http://localhost:8000/test

Step 4 - A saída aparecerá conforme mostrado na imagem a seguir.

Passando dados para vistas

Ao construir o aplicativo, pode ser necessário passar dados para as visualizações. Passe uma matriz para visualizar a função auxiliar. Depois de passar um array, podemos usar a chave para obter o valor dessa chave no arquivo HTML.

Exemplo

Observe o exemplo a seguir para entender mais sobre como passar dados para visualizações -

Step 1 - Copie o seguinte código e salve-o em resources/views/test.php

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

Step 2 - Adicione a seguinte linha em app/Http/routes.php arquivo para definir a rota para a vista acima.

app/Http/routes.php

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

Step 3 - O valor do nome da chave será passado para o arquivo test.php e $ name será substituído por esse valor.

Step 4 - Visite o seguinte URL para ver o resultado da visualização.

http://localhost:8000/test

Step 5 - A saída aparecerá conforme mostrado na imagem a seguir.

Compartilhando dados com todas as visualizações

Vimos como podemos passar dados para visualizações, mas às vezes, é necessário passar dados para todas as visualizações. O Laravel torna isso mais simples. Existe um método chamadoshare()que pode ser usado para esse fim. oshare()método terá dois argumentos, chave e valor. Tipicamenteshare()O método pode ser chamado a partir do método de inicialização do provedor de serviços. Podemos usar qualquer provedor de serviços,AppServiceProvider ou nosso próprio provedor de serviços.

Exemplo

Observe o exemplo a seguir para entender mais sobre como compartilhar dados com todas as visualizações -

Step 1 - Adicione a seguinte linha em app/Http/routes.php Arquivo.

app/Http/routes.php

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

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

Step 2 - Crie dois arquivos de visualização - test.php e test2.phpcom o mesmo código. Estes são os dois arquivos que compartilharão dados. Copie o código a seguir em ambos os arquivos.resources/views/test.php & resources/views/test2.php

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

Step 3 - Altere o código do método de inicialização no arquivo app/Providers/AppServiceProvider.phpcomo mostrado abaixo. (Aqui, usamos o método de compartilhamento e os dados que passamos serão compartilhados com todas as visualizações.)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 os seguintes URLs.

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

Step 5 - A saída aparecerá conforme mostrado na imagem a seguir.