Controllers em Laravel- Lidando com lógica de aplicativos e interações de dados

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.