Como passar parâmetros para a view do Laravel

Confira nesse artigo como enviar informações da controladora para a view.

Publicado em

Uma das funcionalidades da camada de visão é receber parâmetros, afinal, tudo o que é processado na controladora e que precisa ser entregue ao HTML, deve ser enviado para a visão.

Veremos aqui duas formas de passar parâmetros para a view utilizando o Laravel em sua versão 8.

Vamos partir do ponto que temos uma rota que chama o método index de uma controladora arbitrária. 

Route::prefix('photo')->group(function () {
    Route::get('/', [PhotoController::class, 'index'])->name('photo.index');
});

Vamos assumir também que a nossa blade espera por um array de frutas para percorrer uma lista não ordenada, conforme mostra o código a seguir

<ul>
	@foreach($items as $item)
                <li>{{$item}}</li>
	@endforeach
</ul>

Para enviar um array chamado $items, vamos utilizar a função compact do PHP. Basicamente ela recebe o nome das variáveis sem o $ (cifrão), assim criando um array associativo na qual podemos obter seu valor na Blade.

Veja o exemplo 1 abaixo.

public function index()
{

        $items = [
            'Pera',
            'Uva',
            'Maça',
            'Salada mista'
        ];

        $photos = Photo::all();

        return view('photo.index', compact('items', 'photos'));
}

Outra forma, é declarar um array associativo e passar os parâmetros no formato chave/valor, conforme podemos observar no exemplo 2.

public function index()
{
        return view('photo.index', [
            'items' => [
                'Pera',
                'Uva',
                'Maça',
                'Salada mista'
            ],
            'photos' => Photo::all()
        ]);
}

Em ambos os caros, precisamos informar os dados no segundo parâmetro no método view, sendo o primeiro o nome/caminho da blade e o segundo os dados a serem enviados.

return view('minha_pasta.meu_blade', $params);

 

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Todos os nossos cursos em promoção
Todos os nossos cursos em promoção

Webstories

Todos os nossos cursos em promoção

Todos os nossos cursos em promoção

Deixe um comentário
Aguarde...
Todos os nossos cursos em promoção