Domine a criação de um CRUD no Laravel de forma prática e eficiente

Neste artigo, vamos explorar como construir um CRUD completo utilizando o Laravel.

Introdução ao CRUD com Laravel

O termo CRUD refere-se às operações básicas de um banco de dados: Criar, Ler, Atualizar e Deletar. O Laravel, um dos frameworks mais populares do PHP, simplifica essas operações. Neste tutorial, vamos criar um CRUD básico para gerenciar um banco de dados de usuários.

Configurando o Ambiente

Antes de começarmos, certifique-se de ter o Composer instalado e crie um novo projeto Laravel com o seguinte comando:

composer create-project --prefer-dist laravel/laravel nome-do-projeto

Esse comando cria um novo diretório com o nome nome-do-projeto, onde o Laravel será instalado. Agora, entre na pasta do projeto:

cd nome-do-projeto

Isso irá direcioná-lo para o diretório do seu novo projeto.

Criação da Estrutura do Banco de Dados

Para o nosso CRUD, vamos precisar de uma tabela de usuários. Execute o seguinte comando para criar uma nova migração:

php artisan make:migration create_users_table --create=users

No arquivo de migração gerado, adicione os campos necessários:

Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('email')->unique();
    $table->timestamps();
});

Esse código define uma tabela chamada users com três colunas: id, name e email, além das colunas de timestamp que armazenam a data de criação e atualização do registro. Para aplicar a migração, execute:

php artisan migrate

Criando o Modelo

Agora que nossa tabela está pronta, vamos criar um modelo para interagir com a tabela users. Execute o comando:

php artisan make:model User

Isso cria um modelo chamado User.php na pasta app/Models. Podemos utilizar esse modelo para manipular os dados da tabela.

Controlador e Rotas

Em seguida, vamos criar um controlador que gerenciará nossas operações CRUD. Execute o comando:

php artisan make:controller UserController

No controlador, adicione métodos para cada operação do CRUD:

public function index() {
    $users = User::all();
    return view('users.index', compact('users'));
}

public function create() {
    return view('users.create');
}

public function store(Request $request) {
    User::create($request->all());
    return redirect()->route('users.index');
}

public function edit(User $user) {
    return view('users.edit', compact('user'));
}

public function update(Request $request, User $user) {
    $user->update($request->all());
    return redirect()->route('users.index');
}

public function destroy(User $user) {
    $user->delete();
    return redirect()->route('users.index');
}

Cada método acima corresponde a uma operação CRUD, permitindo listar, criar, editar e excluir usuários. Com esses métodos, você pode manipular os dados de maneira eficiente.

Criando as Views

Agora, vamos criar as views necessárias para interagir com o nosso CRUD. Crie uma pasta users dentro de resources/views e crie os arquivos index.blade.php, create.blade.php e edit.blade.php. Abaixo está um exemplo simples de como poderia ser a view index.blade.php:

@extends('layouts.app')
@section('content')
    <h1>Usuários</h1>
    <a href="{{ route('users.create') }}">Adicionar Usuário</a>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>Nome</th>
                <th>Email</th>
                <th>Ações</th>
            </tr>
        </thead>
        <tbody>
            @foreach($users as $user)
                <tr>
                    <td>{{ $user->id }}</td>
                    <td>{{ $user->name }}</td>
                    <td>{{ $user->email }}</td>
                    <td>
                        <a href="{{ route('users.edit', $user) }}">Editar</a>
                        <form action="{{ route('users.destroy', $user) }}" method="POST">
                            @csrf
                            @method('DELETE')
                            <button type="submit">Deletar</button>
                        </form>
                    </td>
                </tr>
            @endforeach
        </tbody>
    </table>
@endsection

Esse código gera uma tabela listando todos os usuários cadastrados, com opções para editar e deletar. Cada botão de ação chama as rotas apropriadas que você configurou no controlador.

Conclusão

Neste tutorial, você aprendeu como criar um CRUD básico utilizando Laravel. Desde a configuração do ambiente até a criação de rotas e views, cada passo foi fundamental para construir uma aplicação web funcional. O Laravel se destaca pela sua facilidade de uso e pela sua robustez, tornando o desenvolvimento web uma tarefa mais acessível e organizada. Explore mais sobre o framework e continue praticando para se tornar um desenvolvedor ainda mais habilidoso!

O Laravel é um framework PHP que vem ganhando destaque pela sua simplicidade e eficiência no desenvolvimento de aplicações web. Com uma sintaxe elegante e uma estrutura robusta, o Laravel possibilita a criação de sistemas complexos de maneira intuitiva. A capacidade de implementar um CRUD (Create, Read, Update, Delete) é uma das habilidades mais fundamentais que todo desenvolvedor deve dominar. Com o Laravel, essa tarefa se torna ainda mais fácil, permitindo que você foque em lógica de negócio ao invés de se preocupar com os detalhes mais técnicos que muitas vezes podem ser frustrantes. Através de suas ferramentas e funcionalidades, como Eloquent ORM e Blade templating, o Laravel transforma o desenvolvimento web em uma experiência prazerosa e gratificante. Neste artigo, vamos explorar a criação de um CRUD, que é a base para muitas aplicações, utilizando as melhores práticas e dicas para que você possa aplicar em seus projetos futuros.

Algumas aplicações:

  • Gerenciamento de dados de usuários
  • Administração de produtos em e-commerce
  • Controle de estoque em sistemas de vendas

Dicas para quem está começando

  • Compreenda os conceitos de Model-View-Controller (MVC)
  • Pratique criando pequenos projetos
  • Leia a documentação do Laravel regularmente
  • Participe de comunidades online para tirar dúvidas

Contribuições de Carla Mendes

Compartilhe este tutorial: Como criar um CRUD usando Laravel?

Compartilhe este tutorial

Continue aprendendo:

Como utilizar APIs REST com Symfony?

Aprenda a criar e consumir APIs REST utilizando Symfony, potencializando suas aplicações web.

Tutorial anterior

Como criar um CRUD usando Symfony?

Aprenda a desenvolver um sistema CRUD completo utilizando o framework Symfony de forma simples e prática.

Próximo tutorial