#Введение
Чтобы помочь вам быстрее начать разработку нового приложения на Laravel, мы предлагаем стартовые наборы для аутентификации и приложения. Эти наборы автоматически создают структуру вашего приложения с маршрутами, контроллерами и представлениями, необходимыми для регистрации и аутентификации пользователей.
Вы можете использовать эти стартовые наборы, но они не обязательны. Вы вольны создавать своё приложение с нуля, просто установив чистую копию Laravel. В любом случае, мы уверены, что у вас получится отличный проект!
#Laravel Breeze
Laravel Breeze — минималистичная и простая реализация всех функций аутентификации Laravel, включая вход, регистрацию, сброс пароля, подтверждение email и подтверждение пароля. Кроме того, Breeze включает простую страницу «профиль», где пользователь может обновить имя, адрес электронной почты и пароль.
Стандартный слой представлений Laravel Breeze состоит из простых Blade шаблонов, стилизованных с помощью Tailwind CSS. Кроме того, Breeze предоставляет варианты scaffolding на основе Livewire или Inertia с выбором Vue или React для Inertia-ориентированного scaffolding.
#Laravel Bootcamp
Если вы новичок в Laravel, рекомендуем пройти Laravel Bootcamp. Laravel Bootcamp проведёт вас через создание первого приложения на Laravel с использованием Breeze. Это отличный способ познакомиться со всем, что предлагают Laravel и Breeze.
#Установка
Сначала создайте новое приложение Laravel, настройте базу данных и выполните миграции базы данных. После создания приложения установите Laravel Breeze через Composer:
composer require laravel/breeze --dev
После установки пакета Laravel Breeze через Composer вы можете выполнить Artisan-команду breeze:install. Эта команда публикует представления аутентификации, маршруты, контроллеры и другие ресурсы в ваше приложение. Laravel Breeze публикует весь свой код в ваше приложение, чтобы вы имели полный контроль и видимость его функций и реализации.
Команда breeze:install запросит у вас предпочтительный frontend-стек и тестовый фреймворк:
php artisan breeze:install
php artisan migrate
npm install
npm run dev
#Breeze и Blade
Стандартный стек Breeze — это стек Blade, который использует простые Blade шаблоны для рендеринга frontend вашего приложения. Стек Blade можно установить, вызвав команду breeze:install без дополнительных аргументов и выбрав стек Blade. После установки scaffolding Breeze следует скомпилировать frontend-ассеты вашего приложения:
php artisan breeze:install
php artisan migrate
npm install
npm run dev
Затем вы можете перейти в браузере по URL /login или /register вашего приложения. Все маршруты Breeze определены в файле routes/auth.php.
Чтобы узнать больше о компиляции CSS и JavaScript вашего приложения, ознакомьтесь с документацией Laravel по Vite.
#Breeze и Livewire
Laravel Breeze также предлагает scaffolding на основе Livewire. Livewire — мощный способ создания динамичных, реактивных frontend-интерфейсов, используя только PHP.
Livewire отлично подходит для команд, которые преимущественно используют Blade шаблоны и ищут более простую альтернативу JavaScript-фреймворкам SPA, таким как Vue и React.
Чтобы использовать стек Livewire, выберите frontend-стек Livewire при выполнении Artisan-команды breeze:install. После установки scaffolding Breeze выполните миграции базы данных:
php artisan breeze:install
php artisan migrate
#Breeze и React / Vue
Laravel Breeze также предлагает scaffolding для React и Vue через frontend-реализацию на основе Inertia. Inertia позволяет создавать современные одностраничные приложения на React и Vue с классической серверной маршрутизацией и контроллерами.
Inertia сочетает мощь frontend React и Vue с невероятной производительностью backend Laravel и молниеносной компиляцией Vite. Чтобы использовать стек Inertia, выберите Vue или React при выполнении команды breeze:install.
При выборе Vue или React стеков установщик Breeze также спросит, хотите ли вы поддержку Inertia SSR или TypeScript. После установки scaffolding Breeze следует скомпилировать frontend-ассеты вашего приложения:
php artisan breeze:install
php artisan migrate
npm install
npm run dev
Затем вы можете перейти в браузере по URL /login или /register вашего приложения. Все маршруты Breeze определены в файле routes/auth.php.
#Breeze и Next.js / API
Laravel Breeze также может создать scaffolding API для аутентификации, готовый к работе с современными JavaScript-приложениями, такими как те, что построены на Next, Nuxt и других. Чтобы начать, выберите стек API при выполнении команды breeze:install:
php artisan breeze:install
php artisan migrate
Во время установки Breeze добавит переменную окружения FRONTEND_URL в файл .env вашего приложения. Этот URL должен указывать на URL вашего JavaScript-приложения. Обычно это http://localhost:3000 при локальной разработке. Кроме того, убедитесь, что APP_URL установлен в http://localhost:8000, что является URL по умолчанию для команды serve Artisan.
#Пример реализации Next.js
Наконец, вы готовы связать этот backend с выбранным frontend. Пример реализации frontend Breeze на Next доступен на GitHub. Этот frontend поддерживается Laravel и содержит тот же пользовательский интерфейс, что и традиционные стеки Blade и Inertia, предоставляемые Breeze.
#Laravel Jetstream
Если Laravel Breeze предоставляет простой и минималистичный старт для создания приложения на Laravel, то Jetstream расширяет этот функционал более мощными возможностями и дополнительными frontend-стеками. Для новичков в Laravel мы рекомендуем сначала освоить Laravel Breeze, прежде чем переходить к Laravel Jetstream.
Jetstream предлагает красиво оформленный scaffolding приложения для Laravel и включает вход, регистрацию, подтверждение email, двухфакторную аутентификацию, управление сессиями, поддержку API через Laravel Sanctum и опциональное управление командами. Jetstream разработан с использованием Tailwind CSS и предлагает выбор frontend-scaffolding на базе Livewire или Inertia.
Полная документация по установке Laravel Jetstream доступна в официальной документации Jetstream.