跳至內容

安裝

認識 Laravel

Laravel 是一個具有表達性、優雅語法的網頁應用程式框架。網頁框架為建立您的應用程式提供結構和起點,讓您可以專注於創造令人驚豔的事物,而我們則負責處理細節。

Laravel 致力於提供令人驚豔的開發人員體驗,同時提供強大的功能,例如徹底的依賴注入、表達性的資料庫抽象層、佇列和排程作業、單元和整合測試等等。

無論您是 PHP 網頁框架的新手還是具有多年的經驗,Laravel 都是一個可以與您一同成長的框架。我們將協助您踏出成為網頁開發人員的第一步,或是在您將專業知識提升到下一個層級時提供您協助。我們迫不及待想看看您會建立什麼。

lightbulb

剛開始使用 Laravel 嗎?查看 Laravel Bootcamp,以親身實作的方式瀏覽框架,同時我們將引導您建構您的第一個 Laravel 應用程式。

為何選擇 Laravel?

在建構網頁應用程式時,您可以使用各種工具和框架。但是,我們認為 Laravel 是建構現代全端網頁應用程式的最佳選擇。

漸進式框架

我們喜歡稱 Laravel 為「漸進式」框架。也就是說,Laravel 會與您一同成長。如果您剛開始接觸網頁開發,Laravel 龐大的文件、指南和 影片教學 庫將協助您在不感到不知所措的情況下學習基礎知識。

如果您是資深開發人員,Laravel 會為您提供強大的工具,用於 依賴注入單元測試佇列即時事件 等等。Laravel 經過微調,適用於建構專業網頁應用程式,並準備好處理企業工作負載。

可擴展框架

Laravel 具有極佳的擴展性。由於 PHP 的擴展友善特性以及 Laravel 對於 Redis 等快速分散式快取系統的內建支援,因此使用 Laravel 進行水平擴展非常容易。事實上,Laravel 應用程式已經可以輕鬆擴展至每月處理數億個請求。

需要極致擴展嗎?Laravel Vapor 等平台可讓您在 AWS 最新的無伺服器技術上以近乎無限的規模執行 Laravel 應用程式。

社群框架

Laravel 結合了 PHP 生態系統中最好的套件,以提供最穩健且對開發人員友善的框架。此外,來自世界各地的數千名才華洋溢的開發人員為此框架做出了貢獻。誰知道呢,也許您甚至會成為 Laravel 的貢獻者。

建立 Laravel 應用程式

安裝 PHP 和 Laravel 安裝程式

在建立您的第一個 Laravel 應用程式之前,請確定您的本機電腦已安裝 PHPComposerLaravel 安裝程式。此外,您應該安裝 Node 和 NPMBun,以便您可以編譯應用程式的前端資源。

如果您的本機電腦上尚未安裝 PHP 和 Composer,則以下命令將在 macOS、Windows 或 Linux 上安裝 PHP、Composer 和 Laravel 安裝程式

/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.3)"
# Run as administrator...
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.3'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.3)"

執行上述其中一個命令後,您應該重新啟動您的終端機工作階段。若要在使用 php.new 安裝後更新 PHP、Composer 和 Laravel 安裝程式,您可以在您的終端機中重新執行該命令。

如果您已經安裝 PHP 和 Composer,您可以透過 Composer 安裝 Laravel 安裝程式

composer global require laravel/installer
lightbulb

如需功能完整且圖形化的 PHP 安裝和管理體驗,請查看 Laravel Herd

建立應用程式

在您安裝 PHP、Composer 和 Laravel 安裝程式後,您就可以建立新的 Laravel 應用程式。Laravel 安裝程式將提示您選取您偏好的測試框架、資料庫和起始套件

laravel new example-app

建立應用程式後,您可以使用 dev Composer 指令碼啟動 Laravel 的本機開發伺服器、佇列工作執行器和 Vite 開發伺服器

cd example-app
npm install && npm run build
composer run dev

啟動開發伺服器後,您可以在網頁瀏覽器中透過 https://127.0.0.1:8000 存取您的應用程式。接下來,您就可以開始踏入 Laravel 生態系統的下一步。當然,您可能也會想要設定資料庫

lightbulb

如果您希望在開發 Laravel 應用程式時搶先一步,請考慮使用我們的其中一個起始套件。Laravel 的起始套件會為您的新 Laravel 應用程式提供後端和前端身分驗證支架。

初始設定

Laravel 框架的所有設定檔都儲存在 config 目錄中。每個選項都有文件說明,因此請隨意瀏覽這些檔案並熟悉您可用的選項。

Laravel 幾乎不需要任何額外的開箱即用設定。您可以自由開始開發!但是,您可能希望檢閱 config/app.php 檔案及其文件。它包含數個選項,例如 timezonelocale,您可能希望根據您的應用程式變更這些選項。

基於環境的設定

由於 Laravel 的許多設定選項值可能會根據您的應用程式是在本機電腦上執行還是在生產網頁伺服器上執行而有所不同,因此許多重要的設定值是使用位於應用程式根目錄的 .env 檔案定義的。

您的 .env 檔案不應該提交到您應用程式的原始碼控制,因為使用您應用程式的每個開發人員/伺服器可能都需要不同的環境設定。此外,如果入侵者可以存取您的原始碼控制儲存庫,這會構成安全風險,因為任何敏感憑證都會暴露。

lightbulb

如需更多關於 .env 檔案和基於環境的設定的資訊,請查看完整的設定文件

資料庫和遷移

現在您已經建立了您的 Laravel 應用程式,您可能想要在資料庫中儲存一些資料。依預設,您應用程式的 .env 設定檔會指定 Laravel 將與 SQLite 資料庫互動。

在建立應用程式的過程中,Laravel 為您建立了一個 database/database.sqlite 檔案,並執行必要的遷移來建立應用程式的資料庫表格。

如果您偏好使用其他資料庫驅動程式 (例如 MySQL 或 PostgreSQL),您可以更新您的 .env 設定檔以使用適當的資料庫。例如,如果您想要使用 MySQL,請像這樣更新您的 .env 設定檔的 DB_* 變數

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

如果您選擇使用 SQLite 以外的資料庫,您將需要建立資料庫並執行您應用程式的資料庫遷移

php artisan migrate
lightbulb

如果您在 macOS 或 Windows 上進行開發,並且需要在本機安裝 MySQL、PostgreSQL 或 Redis,請考慮使用 Herd Pro

目錄設定

Laravel 應始終從為您的網路伺服器配置的「網站目錄」的根目錄提供服務。您不應嘗試從「網站目錄」的子目錄提供 Laravel 應用程式。嘗試這樣做可能會暴露應用程式中存在的敏感檔案。

使用 Herd 進行本機安裝

Laravel Herd 是一個極速、原生的 Laravel 和 PHP 開發環境,適用於 macOS 和 Windows。Herd 包含您開始 Laravel 開發所需的一切,包括 PHP 和 Nginx。

一旦您安裝了 Herd,就可以開始使用 Laravel 進行開發。Herd 包含 phpcomposerlaravelexposenodenpmnvm 的命令列工具。

lightbulb

Herd Pro 透過額外的強大功能來增強 Herd,例如建立和管理本機 MySQL、Postgres 和 Redis 資料庫,以及本機郵件檢視和日誌監控的功能。

macOS 上的 Herd

如果您在 macOS 上開發,可以從 Herd 網站下載 Herd 安裝程式。安裝程式會自動下載最新版本的 PHP,並將您的 Mac 配置為始終在後台執行 Nginx

適用於 macOS 的 Herd 使用 dnsmasq 來支援「停放」目錄。任何停放目錄中的 Laravel 應用程式都會由 Herd 自動提供服務。預設情況下,Herd 會在 ~/Herd 建立一個停放目錄,您可以使用其目錄名稱在 .test 網域上存取此目錄中的任何 Laravel 應用程式。

安裝 Herd 後,建立新 Laravel 應用程式的最快方法是使用 Laravel CLI,它與 Herd 捆綁在一起

cd ~/Herd
laravel new my-app
cd my-app
herd open

當然,您隨時可以透過 Herd 的 UI 管理停放目錄和其他 PHP 設定,該 UI 可以從系統托盤中的 Herd 選單開啟。

您可以查看 Herd 文件,以了解有關 Herd 的更多資訊。

Windows 上的 Herd

您可以在 Herd 網站下載適用於 Windows 的 Herd 安裝程式。安裝完成後,您可以啟動 Herd 以完成新手入門流程並首次存取 Herd UI。

透過左鍵單擊 Herd 的系統托盤圖示即可存取 Herd UI。右鍵單擊會開啟快速選單,其中包含您每天需要的所有工具。

在安裝期間,Herd 會在您的主目錄中的 %USERPROFILE%\Herd 建立一個「停放」目錄。任何停放目錄中的 Laravel 應用程式都會由 Herd 自動提供服務,您可以使用其目錄名稱在 .test 網域上存取此目錄中的任何 Laravel 應用程式。

安裝 Herd 後,建立新 Laravel 應用程式的最快方法是使用 Laravel CLI,它與 Herd 捆綁在一起。若要開始,請開啟 Powershell 並執行以下命令

cd ~\Herd
laravel new my-app
cd my-app
herd open

您可以查看 適用於 Windows 的 Herd 文件,以了解有關 Herd 的更多資訊。

使用 Sail 進行 Docker 安裝

我們希望無論您偏好哪種作業系統,都能盡可能輕鬆地開始使用 Laravel。因此,有許多選項可用於在本機電腦上開發和執行 Laravel 應用程式。雖然您可能希望稍後探索這些選項,但 Laravel 提供了 Sail,這是一個內建的解決方案,可讓您使用 Docker 執行 Laravel 應用程式。

Docker 是一種在小型、輕量的「容器」中執行應用程式和服務的工具,這些容器不會干擾本機電腦上安裝的軟體或配置。這表示您不必擔心在本機電腦上設定或安裝複雜的開發工具,例如網路伺服器和資料庫。若要開始,您只需要安裝 Docker Desktop

Laravel Sail 是一個輕量級命令列介面,用於與 Laravel 的預設 Docker 配置互動。Sail 為使用 PHP、MySQL 和 Redis 建構 Laravel 應用程式提供了一個良好的起點,而無需先前的 Docker 經驗。

lightbulb

已經是 Docker 專家了嗎?別擔心!可以使用 Laravel 隨附的 docker-compose.yml 檔案自訂 Sail 的所有內容。

macOS 上的 Sail

如果您在 Mac 上進行開發,並且已安裝 Docker Desktop,則可以使用簡單的終端機命令來建立新的 Laravel 應用程式。例如,若要在名為「example-app」的目錄中建立新的 Laravel 應用程式,您可以在終端機中執行以下命令

curl -s "https://laravel.build/example-app" | bash

當然,您可以將此 URL 中的「example-app」變更為任何您喜歡的名稱,只需確保應用程式名稱僅包含字母數字字元、破折號和底線。Laravel 應用程式的目錄將會在您執行命令的目錄中建立。

Sail 安裝可能需要幾分鐘的時間,因為 Sail 的應用程式容器會在您的本機電腦上建置。

建立應用程式後,您可以導覽至應用程式目錄並啟動 Laravel Sail。Laravel Sail 提供了一個簡單的命令列介面,用於與 Laravel 的預設 Docker 配置互動

cd example-app
 
./vendor/bin/sail up

應用程式的 Docker 容器啟動後,您應該執行應用程式的資料庫遷移

./vendor/bin/sail artisan migrate

最後,您可以使用網路瀏覽器在以下位置存取應用程式:https://127.0.0.1

lightbulb

若要繼續了解有關 Laravel Sail 的更多資訊,請檢閱其完整文件

Windows 上的 Sail

在您的 Windows 電腦上建立新的 Laravel 應用程式之前,請務必安裝 Docker Desktop。接下來,您應確保已安裝並啟用適用於 Linux 2 的 Windows 子系統 (WSL2)。WSL 允許您在 Windows 10 上原生執行 Linux 二進位可執行檔。有關如何安裝和啟用 WSL2 的資訊,請參閱 Microsoft 的開發人員環境文件

lightbulb

安裝並啟用 WSL2 後,您應確保 將 Docker Desktop 配置為使用 WSL2 後端

接下來,您已準備好建立您的第一個 Laravel 應用程式。啟動 Windows 終端機,並為您的 WSL2 Linux 作業系統啟動新的終端機工作階段。接下來,您可以使用簡單的終端機命令來建立新的 Laravel 應用程式。例如,若要在名為「example-app」的目錄中建立新的 Laravel 應用程式,您可以在終端機中執行以下命令

curl -s https://laravel.build/example-app | bash

當然,您可以將此 URL 中的「example-app」變更為任何您喜歡的名稱,只需確保應用程式名稱僅包含字母數字字元、破折號和底線。Laravel 應用程式的目錄將會在您執行命令的目錄中建立。

Sail 安裝可能需要幾分鐘的時間,因為 Sail 的應用程式容器會在您的本機電腦上建置。

建立應用程式後,您可以導覽至應用程式目錄並啟動 Laravel Sail。Laravel Sail 提供了一個簡單的命令列介面,用於與 Laravel 的預設 Docker 配置互動

cd example-app
 
./vendor/bin/sail up

應用程式的 Docker 容器啟動後,您應該執行應用程式的資料庫遷移

./vendor/bin/sail artisan migrate

最後,您可以使用網路瀏覽器在以下位置存取應用程式:https://127.0.0.1

lightbulb

若要繼續了解有關 Laravel Sail 的更多資訊,請檢閱其完整文件

在 WSL2 中進行開發

當然,您需要能夠修改在 WSL2 安裝中建立的 Laravel 應用程式檔案。若要完成此操作,我們建議使用 Microsoft 的 Visual Studio Code 編輯器和他們用於 遠端開發的第一方擴充功能。

安裝這些工具後,您可以使用 Windows 終端機,從應用程式的根目錄執行 code . 命令來開啟任何 Laravel 應用程式。

Linux 上的 Sail

如果您在 Linux 上進行開發,並且已安裝 Docker Compose,則可以使用簡單的終端機命令來建立新的 Laravel 應用程式。

首先,如果您使用適用於 Linux 的 Docker Desktop,則應執行以下命令。如果您未使用適用於 Linux 的 Docker Desktop,則可以跳過此步驟

docker context use default

然後,若要在名為「example-app」的目錄中建立新的 Laravel 應用程式,您可以在終端機中執行以下命令

curl -s https://laravel.build/example-app | bash

當然,您可以將此 URL 中的「example-app」變更為任何您喜歡的名稱,只需確保應用程式名稱僅包含字母數字字元、破折號和底線。Laravel 應用程式的目錄將會在您執行命令的目錄中建立。

Sail 安裝可能需要幾分鐘的時間,因為 Sail 的應用程式容器會在您的本機電腦上建置。

建立應用程式後,您可以導覽至應用程式目錄並啟動 Laravel Sail。Laravel Sail 提供了一個簡單的命令列介面,用於與 Laravel 的預設 Docker 配置互動

cd example-app
 
./vendor/bin/sail up

應用程式的 Docker 容器啟動後,您應該執行應用程式的資料庫遷移

./vendor/bin/sail artisan migrate

最後,您可以使用網路瀏覽器在以下位置存取應用程式:https://127.0.0.1

lightbulb

若要繼續了解有關 Laravel Sail 的更多資訊,請檢閱其完整文件

選擇您的 Sail 服務

透過 Sail 建立新的 Laravel 應用程式時,您可以使用 with 查詢字串變數來選擇應在新應用程式的 docker-compose.yml 檔案中設定哪些服務。可用的服務包括 mysqlpgsqlmariadbredismemcachedmeilisearchtypesenseminioseleniummailpit

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

如果您未指定要設定哪些服務,則會設定 mysqlredismeilisearchmailpitselenium 的預設堆疊。

您可以指示 Sail 安裝預設的 Devcontainer,方法是在 URL 中新增 devcontainer 參數

curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash

IDE 支援

您可以在開發 Laravel 應用程式時自由使用任何您想要的程式碼編輯器;但是,PhpStorm 為 Laravel 及其生態系統提供了廣泛的支援,包括 Laravel Pint

此外,社群維護的 Laravel Idea PhpStorm 外掛程式提供了各種有用的 IDE 增強功能,包括程式碼產生、Eloquent 語法完成、驗證規則完成等等。

下一步

現在您已建立 Laravel 應用程式,您可能想知道接下來要學習什麼。首先,我們強烈建議您閱讀以下文件來熟悉 Laravel 的運作方式

您想要如何使用 Laravel 也會決定您旅程中的後續步驟。使用 Laravel 的方法有很多種,我們將在下面探討該框架的兩個主要使用案例。

lightbulb

剛開始使用 Laravel 嗎?查看 Laravel Bootcamp,以親身實作的方式瀏覽框架,同時我們將引導您建構您的第一個 Laravel 應用程式。

Laravel 全端框架

Laravel 可以作為全端框架。所謂「全端」框架,我們的意思是您將使用 Laravel 將請求路由到您的應用程式,並透過 Blade 模板或像 Inertia 這樣的單頁應用程式混合技術來呈現您的前端。這是使用 Laravel 框架最常見的方式,而且我們認為這是使用 Laravel 最有效率的方式。

如果這是您計劃使用 Laravel 的方式,您可能需要查看我們有關 前端開發路由檢視Eloquent ORM 的文件。此外,您可能也會有興趣了解像 LivewireInertia 這樣的社群套件。這些套件讓您可以將 Laravel 用作全端框架,同時享受單頁 JavaScript 應用程式提供的許多 UI 優勢。

如果您將 Laravel 作為全端框架使用,我們也強烈建議您學習如何使用 Vite 編譯應用程式的 CSS 和 JavaScript。

lightbulb

如果您想快速開始建構應用程式,請參考我們官方的 應用程式入門套件

Laravel API 後端

Laravel 也可以作為 JavaScript 單頁應用程式或行動應用程式的 API 後端。例如,您可以將 Laravel 用作 Next.js 應用程式的 API 後端。在這種情況下,您可以利用 Laravel 提供應用程式的 身份驗證和資料儲存 / 檢索,同時還可以利用 Laravel 強大的服務,例如佇列、電子郵件、通知等等。

如果您打算這樣使用 Laravel,您可能會想查看我們關於 路由Laravel SanctumEloquent ORM 的文件。

lightbulb

需要快速開始搭建您的 Laravel 後端和 Next.js 前端嗎?Laravel Breeze 提供了一個 API 堆疊,以及一個 Next.js 前端實作,讓您可以在幾分鐘內開始。