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.