Tímto článkem začneme sérii popisující oficiální balíčky Laravel, tzv. first party packages. A představíme si jak ty zdarma, tak také ty placené. Na rozdíl od klasických composer balíčků pro Laravel, kterých existuje nespočet, se tyto oficiální liší v tom, že je vytvořili a stále udržují samotní vývojáři Laravelu. Tím samo o sobě vzniká okolo jednoho balíčku celá komunita, díky čemu je balíček stále aktualizovaný a bezpečný.

Jako první si představíme balíček Laravel Breeze. Ten vyšel ve verzi Laravel 8 společně s dalším balíčkem Laravel Jetstream. Nicméně díky velkému počtu Laravel komunity, která si stěžovala na velkou komplexitu Jestreamu, se Taylor Otwell rozhodl o vydání dalšího balíčku s názvem Laravel Breeze, který je všech směrech ohodně jednodušší než Laravel Jestream.

Přehled

Laravel Breeze nabízí dobrý začátek pro vytvoření aplikace, kde potřebujete mít rovnou vyřešenou autentizaci - konkrétně přihlašování, registraci, resetování hesla, kontrolu emailu a potvrzení hesla.

Laravel Breeze je postaven čistě na Laravel Blade, nicméně všechny styly jsou pouze v Tailwind CSS. Také všechny routy a controllery jsou exportovány rovnou do aplikace, takže zde na pozadí nenajdete žádnou černou skříňku a můžete vše dohledat a upravit si podle svých potřeb.

enter image description here

Instalace

Laravel Breeze si stáhneme klasicky přes composer:

composer require laravel/breeze --dev

a poté pro dokončení balíček nainstalujeme přes artisan:

php artisan breeze:install

V konzoli dostaneme tento výsledek:

Breeze scaffolding installed successfully.
Please execute the "npm install && npm run dev" command to build your assets.

Jak již text napovídá, abychom měli k dispozici všechny statické soubory, tak potřebujeme přes npm nainstalovat vše potřebné:

npm install && npm run dev

A to je vše, nic víc není potřeba dělat. Na výsledek se můžete podívat v prohlížeči, kdy na úvodní stránce vpravo nahoře uvidíte dva odkazy - Login a Register, vše již plně funkční.

Struktura

Jakmile nainstalujete Laravel Breeze, tak všechny routy, controllery a pohledy najdete ve standardních adresářích.

Nové routy najdeme v souboru routes/auth.php a narozdíl od ostatních souborů s routama, které jsou registrovány přes service provider, jsou tyto routy vloženy přímo do web.php:

require __DIR__.'/auth.php';

Auth controllery jsou vytvořeny v app/Http/Controllers/Auth/:

AuthenticatedSessionController.php
ConfirmablePasswordController.php
EmailVerificationNotificationController.php
EmailVerificationPromptController.php
NewPasswordController.php
PasswordResetLinkController.php
RegisteredUserController.php
VerifyEmailController.php

A obdobně jsou vytvořeny pohledy v resources/views/auth/:

confirm-password.blade.php
forgot-password.blade.php
login.blade.php
register.blade.php
reset-password.blade.php
verify-email.blade.php

Video přehled

Na závěr přikládám výborné video vysvětlující Laravel Breeze od Povilase Koropa: