Como Criar um Blog Completo com Laravel do Zero
avatar
Gean Bressan

Em: Backend - há 6 meses

Como Criar um Blog Completo com Laravel do Zero

Criar um blog é uma das formas mais eficazes de aprender Laravel na prática. Neste tutorial, você vai aprender a construir uma aplicação de blog desde a criação das rotas até a exibição dos posts.

Requisitos

  • PHP 8.1 ou superior

  • Composer

  • Laravel instalado (composer create-project laravel/laravel blog)

  • Banco de dados MySQL

  • Editor de código (VS Code recomendado)


Passo 1 – Crie o projeto Laravel

composer create-project laravel/laravel blog cd blog

Configure .env com os dados do seu banco:

DB_DATABASE=blog DB_USERNAME=root DB_PASSWORD=suasenha

Passo 2 – Crie as migrations de posts e users

php artisan make:model Post -m

Abra a migration gerada em database/migrations e adicione:

Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('content'); $table->foreignId('user_id')->constrained()->onDelete('cascade'); $table->timestamps(); });

Depois, execute:

php artisan migrate

Passo 3 – Autenticação com Breeze

composer require laravel/breeze --dev php artisan breeze:install npm install && npm run dev php artisan migrate

Passo 4 – CRUD de Posts

php artisan make:controller PostController --resource php artisan make:request StorePostRequest

Adicione as rotas no routes/web.php:

Route::middleware(['auth'])->group(function () { Route::resource('posts', PostController::class); });

Passo 5 – Criando as Views

No diretório resources/views/posts, crie os arquivos Blade: index.blade.php, create.blade.php, edit.blade.php, show.blade.php.

Exemplo de index.blade.php:

@extends('layouts.app') @section('content') <h1>Meus Posts</h1> <a href="{{ route('posts.create') }}">Novo Post</a> <ul> @foreach ($posts as $post) <li> <a href="{{ route('posts.show', $post) }}">{{ $post->title }}</a> <small>{{ $post->created_at->format('d/m/Y') }}</small> </li> @endforeach </ul> @endsection

Passo 6 – Exibição no Front

Você pode criar uma rota pública para listar posts:

Route::get('/', function () { $posts = \App\Models\Post::latest()->paginate(5); return view('welcome', compact('posts')); });

Conclusão

Seu blog com Laravel está pronto! A partir daqui, você pode:

  • Adicionar categorias ou tags

  • Criar comentários

  • Implementar upload de imagem

  • Aplicar Livewire ou Vue para mais interatividade

Esse projeto é uma ótima base para criar algo maior ou até monetizar com conteúdo.

Voltar à Home

Comentários (0)

Deixe seu comentário e compartilhe sua opinião!