Controllers in Laravel são classes responsáveis por manipular a lógica da aplicação e facilitar a interação entre models e views. Controllers ajudam a separar a lógica do aplicativo da interface do usuário, criando uma estrutura de projeto clara e sustentável.
Criar controlador
Para criar um controlador no Laravel, você pode usar Laravel o comando Artisan de. Por exemplo, para criar um controlador chamado UserController
, você pode executar o seguinte comando no terminal:
php artisan make:controller UserController
Uma vez que o controlador é criado, você pode definir os métodos de manipulação dentro do controlador. Por exemplo, no index()
método, você pode recuperar dados de um modelo e passá-los para uma visualização para exibição:
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('users.index', ['users' => $users]);
}
// Other handling methods
}
No exemplo acima, usamos o User
modelo para recuperar os dados do usuário do banco de dados. Em seguida, passamos esses dados para a users.index
exibição para exibir uma lista de usuários.
Controllers também oferecem suporte a métodos como store()
, update()
e delete()
para lidar com a criação, atualização e exclusão de dados. Você pode interagir com o banco de dados por meio desses métodos.
Husando controller
em route
Para usar um controller
in route
, você pode especificar o controller
nome e o método correspondente no routes/web.php
arquivo.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Neste exemplo, quando um usuário acessar a /users
URL, Laravel irá chamar o index()
método no UserController
para tratar a requisição.
Crie uma visualização para a tela da lista de usuários
Para criar o users.index
arquivo, você pode usar o seguinte comando:
php artisan make:view users.index
Este comando criará um index.blade.php
arquivo no resources/views/users
diretório.
Depois que o arquivo é criado, você pode abri- index.blade.php
lo e projetar a interface da users.index
página. Você pode usar a sintaxe do Blade para criar a estrutura HTML e exibir os dados do controlador.
<!-- resources/views/users/index.blade.php -->
@extends('layouts.app')
@section('content')
<h1>Users</h1>
<ul>
@foreach($users as $user)
<li>{{ $user->name }}</li>
@endforeach
</ul>
@endsection
No exemplo acima, utilizamos o app.blade.php
layout through @extends('layouts.app')
. O conteúdo da página é definido dentro @section('content')
e exibe uma lista de usuários da $users
variável dentro de um @foreach
loop.
Para usar a users.index
página, você precisa definir a rota correspondente no routes/web.php
arquivo para apontar para o método no controlador e retornar a users.index
exibição.
Em resumo, controllers em Laravel ajudar a separar a lógica do aplicativo e lidar com o processamento de dados. Ao usar controllers, você pode criar aplicativos poderosos e de fácil manutenção em Laravel.