使用 Laravel Breeze 快速搭建登入系統

現今大多框架都有提供快速搭建登入系統的懶人包,當然 Laravel 也有。

環境準備與建置專案

Laravel 使用 PHP 開發,因此要先安裝好 PHP。另外要準備依賴套件管理工具 Composer。Mac + Homebrew 安裝的方法如下:

brew install php composer

接著建置 Laravel 專案,參考官方文件採用 Composer 安裝,執行下面的指令:

Laravel Sail 很方便,但這裡是選擇使用 Composer 安裝

composer create-project laravel/laravel myproject

cd myproject

php artisan serve

完成後,就能在 http://localhost:8000 看到 Laravel 預設的歡迎頁,這樣就算 Laravel 原始碼初始化完成了,非常簡單。

接著是準備資料庫環境,使用 Docker 即可完成建置,Docker 的安裝方法可以參考我去年的鐵人賽 30 天與鯨魚先生做好朋友 Day 2。Mac + Homebrew 安裝方法如下:

brew install --cask docker

注意 Docker 在 Mac 上是安裝 Desktop 版本,若是在企業端使用則要注意收費問題

這裡使用 Docker Compose 建置資料庫環境:

version: '3'

services:
mysqld:
image: mysql:5.7
ports:
- 3306:3306
volumes:
- ./database/schema:/docker-entrypoint-initdb.d
environment:
MYSQL_ROOT_PASSWORD: secret

database/schema 目錄會綁定到 container 的 /docker-entrypoint-initdb.d 目錄下,用途是在 container 啟動後,會自動把這裡面的 *.sql 拿出來執行,適合用在初始化資料表的情境。本例是只有建一個名叫 laravel 的資料庫:

-- laravel.sql
CREATE DATABASE IF NOT EXISTS `laravel` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;

檔案一切就緒後,執行 Docker Compose 的指令即可啟動資料庫服務:

docker-compose up

docker-compose.yml 有設定 MySQL 的 root 密碼,因此 .env 需要修改對應的密碼:

DB_PASSWORD=secret

安裝 Laravel Breeze

安裝很簡單,下幾個指令就能建立好初始模板:

# 安裝 Breeze 開發工具
composer require laravel/breeze --dev

# 建立 Breeze 所提供的模版
php artisan breeze:install

# 因為跟前端的關係,因此安裝前端相關的程式
npm install && npm run dev

# 執行資料庫 migration
php artisan migrate

測試登入登出

完成 Breeze 安裝後,Laravel 預設的歡迎頁「右上角」會多出登入和註冊的按鈕。先註冊帳號後才能登入,所以到 /register 註冊頁:

Breeze 預設的設計是註冊完就自動登入,登入完的畫面是 /dashboard

接著先登出 /logout,再重新進 /login 登入頁執行登入 :

以上是 Laravel Breeze 預設的內容展示。