Você está aqui: Laravel ::: Dicas & Truques ::: Controller |
O que são Controllers em Laravel? - Como criar seu primeiro Controller em Laravel - Rotas, Controllers e ViewsQuantidade de visualizações: 3158 vezes |
|
Já sabemos que o Laravel é um framework MVC (model, view, controller). Nesta arquitetura, o usuário interage com a view, que por sua vez aciona o controller, que manipula o modelo (model), e atualiza a view, e o ciclo se repete. Nesta dica mostrarei como criar o seu primeiro Controller em Laravel. Veremos também como acionar seus métodos por meio da URL da aplicação e carregar a view adequada a essa ação. A forma mais comum de se criar um controller no Laravel, é usando o comando make:controller do Artisan. Assim, tomarei como exemplo a aplicação escola que criamos em dicas anteriores. Abra uma janela de terminal e digite os comandos a seguir: C:\Users\Osmar>cd C:\xampp\htdocs\escola C:\xampp\htdocs\escola>php artisan make:controller AlunoController Pressione Enter e você verá a mensagem "Controller created successfully." ser exibida. Agora vá até o diretório C:\xampp\htdocs\escola\app\Http\Controllers e verá que um arquivo AlunoController.php foi criado. Abra-o e teremos o seguinte código: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AlunoController extends Controller{
//
}
?>
Note que nosso controller herda de Controller, mas até o momento não faz nada, ou seja, não executa nenhuma ação. Vamos modificá-lo para o código a seguir: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AlunoController extends Controller{
// método ou ação para cadastrar um novo aluno
function cadastrar(){
// encaminha para a view
return view('cadastrar_aluno');
}
}
?>
Veja que agora temos uma função cadastrar() que, quando chamada, direcionará para a view cadastrar_aluno. Vamos agora criar a rota que nos permitirá chamar a função deste controller a partir da URL. Vá até o diretório C:\xampp\htdocs\escola\routes, localize o arquivo web.php e adicione ou modifique-o para o código abaixo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AlunoController;
Route::get('/cadastrar_aluno', [AlunoController::class,
'cadastrar']);
?>
Pronto. Agora abra o seu navegador na URL http://localhost/escola/public/cadastrar_aluno e veja o resultado. É claro que você verá uma mensagem: InvalidArgumentException View [cadastrar_aluno] not found. http://localhost/escola/public/cadastrar_aluno cadastrar_aluno was not found. Are you sure the view exists and is a .blade.php file? Esta mensagem indica que a view não pôde ser encontrada. Basta ir até o diretório C:\xampp\htdocs\escola\resources\views e criar um arquivo chamado cadastrar_aluno.blade.php e acessar a URL novamente. Esta dica foi escrita e testada no Laravel 8. |
|
|
Veja mais Dicas e truques de Laravel |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







