Laravel 3大驗證系統挑選指南

在 Laravel 8 版本,開發者可採用的驗證系統總共有三套,分別為 Laravel/ui . Laravel Breeze 以及 Jetstream。對於大部分人來說可能會有些困惑到底應該用哪一套比較適合自己的需要,這一篇文章就是要快速的為大家作一個快覽,並在最後作一個比較作為懶人包
如果是懶得了解的人,可以直接看最後的比較
驗證系統快覽
Laravel/ui
假如你打算自己用 vue 或 react 來客製驗證功能的話,Laravel/ui套件可以幫你做到。它打包了驗證相關的路由與視圖
前端部分包含了使用 bootstrap 作為 CSS框架的 Vue 和 React 依賴檔案
驗證邏輯部分是透過發布驗證控制器到專案內方便你進行客製
因此如果你的技術需求是 Vue.js 或 React.js 去搭配 bootstrap 的話,那使用 Laravel/ui 來實作驗證功能是可行的
Breeze
Breeze 就像是簡易版的 Jetstream,因此他的功能定位就界在了 Jetstream 和 Laravel/ui 之間。它提供了驗證功能所需的 Blade 視圖以及 Tailwind CSS。在驗證功能上具備了 Laravel/ui 所有的功能但是更為進步,CSS 框架不使用 Bootstrap 而是改為 TailwindCSS。
前端部分,並未包含 Vue 或 React 的依賴檔案
驗證邏輯部分,並未導入 Fortify ,而是和 Laravel/ui 一樣透過發布驗證控制器方便開發者修改
因此如果你想要的是更新版本的 laravel/ui ,喜歡簡單不喜歡學太多技術就能夠去修改驗證邏輯,而且你所需要的功能也非常簡單,用不到 Fortify 那樣強大的功能的話,Laravel Breeze 是個不錯的選擇
Jetstream
Jetstream 並不是一個套件或者是管理面板之類的,沒有版本問題,你也不需要擔心日後需要去升級它,因為它就是個快速開始工具,快速提供你一些已經架構好的程式碼到專案內,之後要怎麼改就全看你了
前端部分,有兩條支線分別是 Livewire 和 Inertia 讓使用者選擇。前者適合後端工程師,而後者更適合喜歡 Vue.js 的開發者
驗證邏輯的部分,是導入 Fortify 來實作出驗證功能
因此如果你熟悉 Laravel Livewire , Inertia 以及 Tailwind ,不需要花太多時間學習。而且希望能不花太多時間立刻打造出驗證功能的話,Jetstream 是你最好的選擇
懶人包
如果你不喜歡學習新技術,請選用 Breeze 。反之,請選用 Jetstream,它絕對是 9.x 的主力驗證技術,而 Laravel/ui 即將成為昨日黃花,請慎用