為幫助用戶迅速啟動新的 Laravel 應(yīng)用程序,提供了認(rèn)證和應(yīng)用程序入門套件。這些套件自動為應(yīng)用程序配置用戶注冊和認(rèn)證所需的路由、控制器和視圖,助快速上手。
雖然鼓勵利用這些入門套件,但它們并非必需。完全可以選擇從頭開始創(chuàng)建一個全新的 Laravel 應(yīng)用程序,無論采取哪種方式,深信將構(gòu)建出出色的作品!
一、Laravel Breeze
Laravel Breeze 是 Laravel 中認(rèn)證功能的最小簡易實現(xiàn)。它包括登錄、注冊、密碼重置、電子郵件驗證和密碼確認(rèn)。此外,Breeze 還提供一個簡單的”個人資料”頁面,用戶可以在其中更新其姓名、電子郵件地址和密碼。
Breeze 的默認(rèn)視圖層使用簡單的 Blade 模板,并采用 Tailwind CSS 進行樣式設(shè)計。此外,Breeze 提供了基于 Livewire 或 Inertia 的腳手架選項,可以選擇使用 Vue 或 React 進行 Inertia 基礎(chǔ)架構(gòu)的搭建。
1、Laravel Breeze
對于新手來說,強烈推薦參與 Laravel Bootcamp。它將引導(dǎo)使用 Breeze 構(gòu)建第一個 Laravel 應(yīng)用程序,是了解 Laravel 和 Breeze 提供功能的絕佳路徑。
2、安裝
首先,應(yīng)該創(chuàng)建一個新的 Laravel 應(yīng)用程序。如果使用 Laravel 安裝器創(chuàng)建應(yīng)用程序,該安裝過程中會提示安裝 Laravel Breeze。若未自動提示,可以按照下面的手動安裝指南進行操作。
如果已經(jīng)創(chuàng)建了不含入門套件的新 Laravel 應(yīng)用程序,可以通過 Composer 手動安裝 Laravel Breeze:
composer require laravel/breeze --dev
安裝完成后,應(yīng)運行 “breeze:install” Artisan 命令以發(fā)布認(rèn)證視圖、路由、控制器和其他資源到應(yīng)用程序。Laravel Breeze 會將所有代碼發(fā)布到應(yīng)用中,以便完全控制并查看其功能與實現(xiàn)。
php artisan breeze:install php artisan migrate npm install npm run dev
3、Breeze和Blade
Breeze 默認(rèn)使用 Blade 堆棧來渲染前端。通過執(zhí)行 “breeze:install” 命令并選擇 Blade 前端堆棧,可以輕松安裝 Blade 堆棧。安裝完成后,請確保編譯應(yīng)用程序的前端資產(chǎn):
php artisan breeze:install php artisan migrate npm install npm run dev
接下來,可以在 Web 瀏覽器中訪問應(yīng)用程序的 “/login” 或 “/register” URL。所有 Breeze 路由都定義在 “routes/auth.php” 文件中。
4、Breeze和Livewire
Laravel Breeze 還提供了 Livewire 腳手架。Livewire 是一種使用純 PHP 構(gòu)建動態(tài)及響應(yīng)式前端用戶界面的強大工具。
對于主要使用 Blade 模板的團隊來說,Livewire 是尋找 Vue 或 React 等 JavaScript SPA 框架的簡單替代方案。
要使用 Livewire 堆棧,只需在執(zhí)行 “breeze:install” Artisan 命令時選擇 Livewire 前端堆棧。安裝完成后,請運行數(shù)據(jù)庫遷移:
php artisan breeze:install php artisan migrate
5、Breeze和React/Vue
Laravel Breeze 通過 Inertia 提供了 React 和 Vue 的腳手架。Inertia 使能夠使用經(jīng)典的服務(wù)器端路由和控制器構(gòu)建現(xiàn)代的單頁 React 和 Vue 應(yīng)用程序。
它充分利用了 React 和 Vue 的強大前端能力,同時結(jié)合 Laravel 的后端生產(chǎn)力和 Vite 的快速編譯能力。要使用 Inertia 堆棧,可在執(zhí)行 “breeze:install” Artisan 命令時選擇 Vue 或 React 前端堆棧。
選擇 Vue 或 React 時,Breeze 安裝程序會提示選擇是否啟用 Inertia SSR 或 TypeScript 支持。安裝完成后,請確保編譯前端資產(chǎn):
php artisan breeze:install php artisan migrate npm install npm run dev
同樣可以在 Web 瀏覽器中訪問應(yīng)用程序的 “/login” 或 “/register” URL。
6、Breeze和Next.js/API
Laravel Breeze 還可以為現(xiàn)代 JavaScript 應(yīng)用程序(如 Next.js 和 Nuxt.js)腳手架出一個認(rèn)證 API。在執(zhí)行 “breeze:install” Artisan 命令時選擇 API 堆棧即可:
php artisan breeze:install php artisan migrate
安裝后,Breeze 會在應(yīng)用程序的 “.env” 文件中添加一個 “FRONTEND_URL” 環(huán)境變量,應(yīng)將其設(shè)置為 JavaScript 應(yīng)用程序 URL。例如,在本地開發(fā)時,此 URL 通常為 “http://localhost:3000″。同時,請確保 “APP_URL” 設(shè)置為 “http://localhost:8000″,這是 serve Artisan 命令的默認(rèn) URL。
二、Laravel Jetstream
雖然 Laravel Breeze 為構(gòu)建 Laravel 應(yīng)用程序提供了一個簡單和最小的起點,Jetstream 則通過更健壯的功能和額外的前端技術(shù)堆棧增強了該功能。對于剛接觸 Laravel 的新手來說,建議在轉(zhuǎn)向 Laravel Jetstream 之前先學(xué)習(xí) Laravel Breeze。
Jetstream 為 Laravel 提供了精美設(shè)計的應(yīng)用程序腳手架,并包括登錄、注冊、電子郵件驗證、雙因素認(rèn)證、會話管理、通過 Laravel Sanctum 提供的 API 支持,以及可選的團隊管理。Jetstream 使用 Tailwind CSS 設(shè)計,并提供基于 Livewire 或 Inertia 的前端腳手架選擇。