Curso de Laravel para Noobs - #8 Controllers
15/12/2022Nesta aula aprenderemos sobre as funcionalidades do Controller dentro do Laravel, como criá-lo, e como setar rotas que acionem esses controladores.
Controladores no Laravel
Os controllers ficam no seguinte diretório: app/Http/Controllers
Para a criação de um novo controller a forma mais fácil é atraves de um comando artisan através do terminal:
cd c:/xampp/htdocs/laravel
php artisan make:model Meucontroller -mcr
Função __invoke
A função invoke serve para controllers simples que tenham apenas uma ação, vamos supor, um controlador que vai apenas converter o real em dólar. Neste caso você pode usar a função invoke:
public function __invoke()
{
//codigo aqui
}
Quando se usa a função invoke não é necessário citar o método na rota, pois o sistema entende que só existe um metodo naquele controller, justamente o da função invoke. Fica assim:
Route::get('minha_url',Meucontroller::class);
Controller Resource
O controller resource serve para construção de um sistema de CRUD completo através de rotas já definidas.
Se você criar por exemplo uma controller resource photos, veja como ele já cria todas as rotas:
A rota de um controlle resurce é feita da seguinte maneira:
Route::resource('minha_url',Meucontroller::class);