ホーム > Laravel > What is Laravel Breeze? Summary of Setup and Features
Laravel

What is Laravel Breeze? Summary of Setup and Features

Thank you for your continued support.
This article contains advertisements that help fund our operations.

This article explores Laravel's starter kit, Breeze, summarizing its setup and features.

What is Breeze?

Laravel Breeze is one of Laravel's starter kits.

It provides a boilerplate for essential features like user registration, login authentication, email verification, and password reset.

Breeze also allows you to choose from various frontend development methods, making it highly flexible. It’s suitable for projects that separate the frontend from the backend as well as for those where the frontend is developed within the Laravel project.

Most importantly, Breeze generates minimal boilerplate code that is easily accessible in your project (e.g., controllers) rather than being hidden in the backend (like in vendor).

Features of Breeze

  1. Login
  2. User registration
  3. Email verification
  4. Password reset
  5. Password confirmation
  6. Profile page (update name, email, password, and account deletion)
  7. Tailwind CSS
  8. Supports Livewire, Inertia (Vue or React), or API-only mode

Difference Between Breeze and Jetstream

Another Laravel starter kit is Jetstream.

What is Laravel Jetstream?

Jetstream is more feature-rich, including functionalities like team management and two-factor authentication, implemented via Fortify.

Fortify hides authentication code behind the scenes, making it less accessible, especially for those new to Laravel. In contrast, Breeze generates authentication-related code, such as controllers, directly in your project, making it easier to work with.

Unlike Fortify, Breeze publishes routes and controllers directly to your application.

Laravel 11.x Laravel Fortify

Which Should You Choose?

I recommend Breeze as the first choice unless you specifically need features supported by Jetstream, such as team management.

However, there's nothing you can't achieve with Breeze. If there's no specific reason to use Jetstream, Breeze is likely the better option.

Difference Between Breeze and Laravel UI

The changes are minimal—controller names and file locations have been updated, but the core functionality remains similar.

Breeze introduces TailwindCSS as the default CSS framework, giving layouts a cleaner and more polished appearance. Email templates also look better by default.

For API authentication, Laravel has shifted from Laravel Passport to Sanctum, offering a more straightforward cookie-based authentication method when combined with Axios. This improvement is a major advantage of Breeze.

Installation

composer require laravel/breeze --dev
php artisan breeze:install

You will be prompted to choose your desired configuration:

  1. Frontend stack (React or Vue)
  2. Tools like TypeScript
  3. Testing tools

Installation is completed by selecting these options.

Stack Options in Breeze

  1. Blade with Alpine
  2. Livewire (Volt Class API) with Alpine
  3. Livewire (Volt Functional API) with Alpine
  4. React with Inertia
  5. Vue with Inertia
  6. API-only

Options 1–5 determine how you want to write your frontend.

Blade

Blade is Laravel's default templating engine, identified by .blade.php files. It's highly convenient for projects that don’t use React or Vue, offering built-in XSS protection.

Alpine

Alpine is a lightweight JavaScript framework suitable for static sites needing simple interactivity. However, its community support is limited.

Livewire

Livewire allows you to build interactive UIs without writing JavaScript. It manages state on the PHP side and automatically updates the DOM when the PHP state changes.

Volt

Volt enhances Livewire, letting you manage state directly in Blade templates, similar to Vue.js. However, writing PHP and use statements within Blade templates might feel cumbersome.

Class API vs. Functional API

These differ in how state management and function definitions are structured—either using a class-based or function-based approach.

Inertia

Inertia integrates React or Vue with Laravel, eliminating the need for frontend-specific routing. It simplifies the creation of SPAs or SSR-based services.

Additional Features

Dark Mode

Choose this option to enable dark mode, implemented using TailwindCSS.

Inertia SSR

Adds server-side rendering for Inertia.

TypeScript

Enables TypeScript for your project.

ESLint with Prettier

Configures linting and formatting tools for maintaining code quality.

Testing Frameworks

Pest

A simpler, more intuitive testing framework built on PHPUnit.

PHPUnit

The traditional and widely used PHP testing framework.

Breeze Features in Action

User Registration

breeze register

Access /register for the registration page. The related logic is located in app/Http/Controllers/Auth/RegisteredUserController.php.

Login Authentication

breeze login

Access /login for the login page. The related logic is located in app/Http/Controllers/Auth/AuthenticatedSessionController.php.

Email Verification

breeze verify email

Email verification is simple to implement. Just modify App/Models/User.php:

use Illuminate\Contracts\Auth\MustVerifyEmail; // Uncomment this line
// ...

class User extends Authenticatable implements MustVerifyEmail // Add these words
{

For testing email functionality, see the following guide:

Testing Email Delivery with Mailtrap

Password Confirmation

breeze confirm password

Used to verify passwords during critical operations for added security. Logic is located in app/Http/Controllers/Auth/ConfirmablePasswordController.php.

How to Use Password Confirmation

Password Reset

breeze password reset

Users can reset their passwords by entering their registered email address. Breeze sends an email with a reset link, which leads to a reset page. The functionality leverages the password_reset_tokens table for verification.

breeze password reset email

Profile Page

breeze profile

The profile page includes:

  1. Name and email updates
  2. Password updates
  3. Account deletion

Final Thoughts

Benefits of Vite

Having transitioned from Laravel Mix to Vite, I’ve appreciated the lighter and faster build process.

Easy Transition

The minimal changes make it easy to adopt Breeze for those already familiar with Laravel.

Recommended for Beginners

I suggest Breeze over Jetstream for newcomers to Laravel.

Usability in Real Projects

Breeze would likely be my first choice for developing real-world applications.

API Authentication

Sanctum makes API authentication much more convenient, especially with cookie-based authentication.

Cookie Authentication with Nuxt3 and Laravel Sanctum

I hope this guide helps someone out there.

Please Provide Feedback
We would appreciate your feedback on this article. Feel free to leave a comment on any relevant YouTube video or reach out through the contact form. Thank you!