iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
Modern Web

Laravel 是甚麼系列 第 6

就是安裝

  • 分享至 

  • xImage
  •  

就是安裝
https://ithelp.ithome.com.tw/upload/images/20250807/2011903597stpCIEAh.png

https://ithelp.ithome.com.tw/upload/images/20250807/20119035MOz3j6WUxd.png

cd .\Desktop\code
https://ithelp.ithome.com.tw/upload/images/20250807/20119035BDDJHT8OOD.png

https://ithelp.ithome.com.tw/upload/images/20250807/201190352hjHbnOikL.png
在運行 laravel new blog 命令時,Laravel 提供了一個選項,允許你選擇是否安裝一個 Starter Kit,這是為了方便開發者快速啟動項目,添加預定義的身份驗證和前端功能。

以下是選項的意義:

  1. [none] No starter kit

    • 默認選項,表示不會安裝任何 Starter Kit。
    • 如果選擇這個選項,Laravel 只會安裝基本框架,你需要自己配置身份驗證和前端功能。
  2. [breeze] Laravel Breeze

    • Breeze 是一個輕量級 Starter Kit,包含基本的身份驗證功能(登錄、注冊、忘記密碼等)。
    • 提供多種前端堆棧選擇,如 Blade 和 Tailwind CSS,或基於 Inertia.js 的 Vue/React。
    • 適合想要快速搭建一個簡單應用的開發者。
  3. [jetstream] Laravel Jetstream

    • Jetstream 是功能更豐富的 Starter Kit,包含用戶資料管理、團隊管理、雙因素身份驗證等高級功能。
    • 支持 Livewire 和 Inertia.js。
    • 適合需要覆雜用戶管理和團隊功能的項目。

你的選擇

  • 如果你想快速搭建一個基本應用,選擇 Laravel Breeze 是一個不錯的起點,之前你提到偏好 Blade with Alpine。
  • 如果你需要覆雜的團隊和用戶管理功能,選擇 Laravel Jetstream
  • 如果你想完全自定義一切,選擇 No starter kit

當你選擇安裝 Laravel Jetstream 時,接下來需要選擇它的技術堆棧:

選項說明:

  1. [livewire] Livewire

    • Livewire 是一個 Laravel 原生支持的工具,可以讓你在 Blade 模板中編寫交互式組件,而不需要編寫大量的前端 JavaScript。
    • 更適合喜歡使用 PHP 和 Blade 的開發者。
    • 推薦如果你更熟悉後端開發,或者想要減少使用 JavaScript 的覆雜性。
  2. [inertia] Vue with Inertia

    • 使用 Vue.js 作為前端框架,並通過 Inertia.js 與 Laravel 後端無縫連接。
    • 適合希望使用現代前端框架(如 Vue.js)的開發者。
    • 如果你有前端開發經驗,或者希望在項目中利用動態、覆雜的用戶界面,選擇這個選項。

推薦選擇:

  • 如果你希望保持代碼以 Laravel 為中心,並避免過多的 JavaScript,選擇 Livewire
  • 如果你需要利用 Vue.js 的強大能力,或者你的團隊更熟悉前端框架,選擇 Inertia

在選擇 Laravel Jetstream 的堆棧後,系統會提示是否啟用一些可選功能,這些功能可以為你的應用程序添加特定的功能模塊:

可選功能說明:

  1. [none] None

    • 不啟用任何附加功能,僅安裝基礎功能。
    • 適合希望保持最小化設置,後續手動添加所需功能的開發者。
  2. [api] API support

    • 添加 API 支持,包括 Sanctum(Laravel 的簡單令牌認證解決方案)。
    • 推薦如果你的項目需要開發移動端或第三方系統集成的 API。
  3. [dark] Dark mode

    • 支持深色模式切換。
    • 提高用戶體驗,適合前端 UI 注重用戶自定義外觀的項目。
  4. [verification] Email verification

    • 啟用用戶電子郵件驗證功能。
    • 推薦如果需要確保注冊用戶使用有效的電子郵件地址。
  5. [teams] Team support

    • 啟用團隊管理功能,允許用戶創建和管理團隊。
    • 推薦用於協作型項目或需要團隊功能的應用。
  6. [ssr] Inertia SSR

    • 啟用 Inertia.js 的服務器端渲染(SSR)。
    • 提升 SEO 和頁面初始加載性能,適合希望優化用戶體驗和搜索引擎優化的項目。
      https://ithelp.ithome.com.tw/upload/images/20250807/20119035psT4x0taTb.png

推薦選擇:

  • 如果是一般的 Web 應用,建議選擇 API supportEmail verification,可以滿足基礎需求。
  • 如果你的應用需要協作功能,可以啟用 Team support
  • 如果你計劃支持深色主題,可以啟用 Dark mode
  • 如果你有前端性能和 SEO 優化需求,選擇 Inertia SSR
    在選擇 Jetstream 的可選功能後,Laravel 會詢問你更偏好的測試框架。以下是兩種選項的說明:

測試框架選項:

  1. [Pest]

    • Pest 是一個現代、簡潔的 PHP 測試框架,專為簡化測試流程而設計。
    • 語法簡潔清晰,特別適合對測試不熟悉或者希望快速編寫測試的開發者。
    • 支持使用 PHPUnit 的所有功能,所以你可以在需要時靈活切換。
    • 如果你傾向於更優雅和現代的測試體驗,建議選擇 Pest。
  2. [PHPUnit]

    • PHPUnit 是 Laravel 和 PHP 中的經典測試框架,被廣泛使用。
    • 有較多的學習資源和社區支持。
    • 如果你對 PHPUnit 已經熟悉,或者希望遵循更傳統的測試方式,可以選擇它。

推薦選擇:

  • 如果你正在嘗試或願意使用新的工具,選擇 Pest
  • 如果你需要穩定的傳統方案或者已有 PHPUnit 經驗,選擇 PHPUnit
    https://ithelp.ithome.com.tw/upload/images/20250807/20119035x9Fo1SMMrV.png

在安裝完成後,Laravel Jetstream 會詢問你選擇的數據庫類型,這是為了配置項目的數據庫連接。


可選數據庫類型說明:

  1. [SQLite]

    • 適合快速開發或小型項目。
    • 無需額外安裝和配置,只需提供一個 .sqlite 文件即可。
    • 推薦用於簡單原型或本地開發。
  2. [MySQL]

    • 常用數據庫類型,適合大多數生產項目。
    • 提供強大的功能,支持大規模數據操作。
    • 當前提示 Missing PDO extension,需要啟用 PHP 的 MySQL PDO 擴展才能使用。
  3. [MariaDB]

    • MySQL 的一個分支,通常性能更高且免費。
    • 也需要啟用 PHP 的 PDO 擴展才能使用。
  4. [PostgreSQL]

    • 高性能數據庫,支持覆雜查詢和高級特性(如 JSONB)。
    • 如果你的項目需要處理覆雜的數據或大量並發用戶,可以選擇它。
    • 同樣需要啟用 PDO 擴展。
  5. [SQL Server]

    • 如果你使用微軟的技術棧(如 .NET 環境),SQL Server 是一個很好的選擇。
    • 當前也提示 Missing PDO extension,需要啟用。

解決 PDO 擴展問題:

  1. 打開 PHP 的 php.ini 文件(通常位於 XAMPP 或其他 PHP 環境的安裝路徑中)。
  2. 找到以下擴展,取消注釋(移除前面的分號):
    extension=pdo_mysql
    extension=pdo_pgsql ; 如果使用 PostgreSQL
    extension=pdo_sqlsrv ; 如果使用 SQL Server
    
  3. 保存文件,重新啟動 Web 服務器(如 Apache 或 Nginx)。
  4. 再次運行安裝命令。

推薦:

  • 如果只是簡單開發,選擇 SQLite 是最快的。
  • 如果要用 MySQL 或其他數據庫,記得先啟用對應的 PDO 擴展。

當你選擇數據庫類型為 MySQL 後,Laravel 會詢問是否立即運行默認的數據庫遷移命令。

關於數據庫遷移:

  • 遷移(Migration) 是 Laravel 提供的一種功能,用於在代碼中管理數據庫結構(表的創建、修改等)。
  • 如果選擇 yes,Laravel 將運行內置的遷移文件,創建用戶表和團隊管理表等(如果啟用了團隊功能)。
  • 如果選擇 no,你可以稍後通過運行以下命令手動遷移:
    php artisan migrate
    

推薦:

  • 如果你的 MySQL 數據庫已經正確配置(在 .env 文件中設置了數據庫連接信息),可以選擇 yes,直接運行遷移。
  • 如果數據庫尚未配置,建議選擇 no,先確保 .env 文件中的數據庫配置無誤,然後再運行遷移。

提示:

  1. 檢查 .env 文件,確保以下配置正確:
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=your_database_name
    DB_USERNAME=your_username
    DB_PASSWORD=your_password
    
  2. 如果選擇運行遷移但失敗,可以根據錯誤提示調整配置並重新運行。

https://ithelp.ithome.com.tw/upload/images/20250807/20119035UvFKIAIKJD.png

https://ithelp.ithome.com.tw/upload/images/20250807/20119035boFsJ00jh6.png

大家明天見~


上一篇
函式是甚麼
下一篇
繼續安裝
系列文
Laravel 是甚麼30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言