Skip to content
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待

安装 ​

认识 Laravel ​

Laravel 是一个具有表现力和优雅语法的 web 应用框架。Web 框架为创建应用提供了结构和起点,使您能够专注于创建令人惊叹的东西,而我们则处理细节。

Laravel 努力提供令人惊叹的开发者体验,同时提供强大的功能,如全面的依赖注入、表现力丰富的数据库抽象层、队列和定时任务、单元和集成测试等。

无论您是 PHP Web 框架的新手还是有多年经验的开发者,Laravel 都是一个可以与您共同成长的框架。我们将帮助您迈出成为 Web 开发者的第一步,或在您提升专业技能时给予支持。我们迫不及待想看到您构建的东西。

注意

新手使用 Laravel?请查看 Laravel Bootcamp,我们将带您通过构建第一个 Laravel 应用进行框架的实操体验。

为什么选择 Laravel? ​

在构建 Web 应用时,您可以使用多种工具和框架。然而,我们相信 Laravel 是构建现代全栈 Web 应用的最佳选择。

渐进式框架 ​

我们喜欢称 Laravel 为“渐进式”框架。我们的意思是,Laravel 会随着您的成长而发展。如果您刚刚开始接触 Web 开发,Laravel 丰富的文档、指南和 视频教程 将帮助您轻松入门。

如果您是一位资深开发者,Laravel 为您提供了强大的工具,如 依赖注入、单元测试、队列、实时事件 等。Laravel 针对构建专业 Web 应用进行了精细调校,能够处理企业级工作负载。

可扩展框架 ​

Laravel 的可扩展性极强。得益于 PHP 的可扩展特性和 Laravel 内置对快速、分布式缓存系统(如 Redis)的支持,使用 Laravel 进行水平扩展非常简单。事实上,Laravel 应用已经轻松扩展到每月处理数亿个请求。

需要极限扩展?像 Laravel Vapor 这样的平台允许您在 AWS 最新的无服务器技术上以几乎无限的规模运行 Laravel 应用。

社区框架 ​

Laravel 结合了 PHP 生态系统中最好的包,提供了最强大且开发者友好的框架。此外,来自世界各地的成千上万的优秀开发者 为框架做出了贡献。谁知道,您也许会成为 Laravel 的贡献者。

创建 Laravel 应用 ​

安装 PHP 和 Laravel 安装器 ​

在创建您的第一个 Laravel 应用之前,请确保您的本地机器上已安装 PHP、Composer 和 Laravel 安装器。此外,您还应该安装 Node 和 NPM 或 Bun,以便编译应用的前端资产。

如果您在本地机器上没有安装 PHP 和 Composer,以下命令将在 macOS、Windows 或 Linux 上安装 PHP、Composer 和 Laravel 安装器:

shell
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"
shell
# 以管理员身份运行...
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.4'))
shell
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"

运行上述命令后,您应该重启终端会话。要更新通过 php.new 安装的 PHP、Composer 和 Laravel 安装器,您可以在终端中重新运行命令。

如果您已经安装了 PHP 和 Composer,您可以通过 Composer 安装 Laravel 安装器:

shell
composer global require laravel/installer

注意

要获得功能齐全的图形 PHP 安装和管理体验,请查看 Laravel Herd。

创建应用 ​

在安装了 PHP、Composer 和 Laravel 安装器后,您就可以创建新的 Laravel 应用了。Laravel 安装器将提示您选择首选的测试框架、数据库和启动工具包:

bash
laravel new example-app

应用创建后,您可以使用 dev Composer 脚本启动 Laravel 的本地开发服务器、队列工作者和 Vite 开发服务器:

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

启动开发服务器后,您可以在 Web 浏览器中访问您的应用,地址为 http://localhost:8000。接下来,您准备好 开始进入 Laravel 生态系统的下一步。当然,您也可能想要 配置数据库。

注意

如果您希望在开发 Laravel 应用时获得一些帮助,请考虑使用我们的 启动工具包。Laravel 的启动工具包为您的新 Laravel 应用提供后端和前端身份验证脚手架。

初始配置 ​

Laravel 框架的所有配置文件都存储在 config 目录中。每个选项都有文档说明,因此请随意查看文件并熟悉可用的选项。

Laravel 开箱即用,几乎不需要额外的配置。你可以立即开始开发!但是,你可能希望查看 config/app.php 文件及其文档。该文件包含多个选项,如 url 和 locale,你可以根据应用需求进行更改。

基于环境的配置 ​

由于许多 Laravel 的配置选项值可能会因应用在本地机器上运行或在生产 Web 服务器上运行而有所不同,因此许多重要的配置值是通过位于应用根目录的 .env 文件定义的。

您的 .env 文件不应提交到应用的源代码控制中,因为使用您应用的每个开发者/服务器可能需要不同的环境配置。此外,如果入侵者获得了您的源代码库的访问权限,这将构成安全风险,因为任何敏感凭据都将暴露。

注意

有关 .env 文件和基于环境的配置的更多信息,请查看完整的 配置文档。

数据库和迁移 ​

现在您已经创建了 Laravel 应用,您可能希望在数据库中存储一些数据。默认情况下,您的应用的 .env 配置文件指定 Laravel 将与 SQLite 数据库进行交互。

在创建应用时,Laravel 为您创建了一个 database/database.sqlite 文件,并运行了必要的迁移以创建应用的数据库表。

如果您希望使用其他数据库驱动程序,如 MySQL 或 PostgreSQL,您可以更新 .env 配置文件以使用适当的数据库。例如,如果您希望使用 MySQL,请像下面这样更新 .env 配置文件的 DB_* 变量:

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

如果您选择使用 SQLite 以外的数据库,您需要创建数据库并运行应用的 数据库迁移:

shell
php artisan migrate

注意

如果您在 macOS 或 Windows 上开发并需要在本地安装 MySQL、PostgreSQL 或 Redis,请考虑使用 Herd Pro。

目录配置 ​

Laravel 应始终从为您的 Web 服务器配置的“Web 目录”的根目录提供服务。您不应尝试从“Web 目录”的子目录中提供 Laravel 应用。这样做可能会暴露您应用中的敏感文件。

使用 Herd 本地安装 ​

Laravel Herd 是一个快速、原生的 Laravel 和 PHP 开发环境,适用于 macOS 和 Windows。Herd 包含您开始 Laravel 开发所需的一切,包括 PHP 和 Nginx。

安装 Herd 后,您就可以开始使用 Laravel 进行开发。Herd 包含 php、composer、laravel、expose、node、npm 和 nvm 的命令行工具。

注意

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 应用的最快方法是使用与 Herd 一起捆绑的 Laravel CLI:

bash
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 UI 可以通过左键单击 Herd 的系统托盘图标访问。右键单击打开快速菜单,访问您每天需要的所有工具。

安装期间,Herd 在您的主目录中创建了一个停放目录,路径为 %USERPROFILE%\Herd。任何在停放目录中的 Laravel 应用将自动由 Herd 提供服务,您可以通过其目录名称在 .test 域中访问该目录中的任何 Laravel 应用。

安装 Herd 后,创建新 Laravel 应用的最快方法是使用与 Herd 一起捆绑的 Laravel CLI。要开始,请打开 Powershell 并运行以下命令:

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

您可以通过查看 Windows 的 Herd 文档 了解有关 Herd 的更多信息。

使用 Sail 的 Docker 安装 ​

我们希望无论您首选的操作系统是什么,都能尽可能轻松地开始使用 Laravel。因此,有多种选项可供您在本地机器上开发和运行 Laravel 应用。虽然您可能希望稍后探索这些选项,但 Laravel 提供了 Sail,这是一个内置的解决方案,用于使用 Docker 运行您的 Laravel 应用。

Docker 是一个用于在小型、轻量级“容器”中运行应用和服务的工具,这些容器不会干扰您本地机器上已安装的软件或配置。这意味着您不必担心在本地机器上配置或设置复杂的开发工具,如 Web 服务器和数据库。要开始,您只需安装 Docker Desktop。

Laravel Sail 是一个轻量级的命令行界面,用于与 Laravel 的默认 Docker 配置进行交互。Sail 为使用 PHP、MySQL 和 Redis 构建 Laravel 应用提供了一个很好的起点,而无需先前的 Docker 经验。

注意

已经是 Docker 专家?别担心!Sail 的所有内容都可以通过 Laravel 附带的 docker-compose.yml 文件进行自定义。

macOS 上的 Sail ​

如果您在 Mac 上开发并且已经安装了 Docker Desktop,您可以使用简单的终端命令创建新的 Laravel 应用。例如,要在名为“example-app”的目录中创建新的 Laravel 应用,您可以在终端中运行以下命令:

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

当然,您可以将此 URL 中的“example-app”更改为您喜欢的任何名称 - 只需确保应用名称仅包含字母数字字符、破折号和下划线。Laravel 应用的目录将在您执行命令的目录中创建。

Sail 安装可能需要几分钟,因为 Sail 的应用容器在您的本地机器上构建。

应用创建后,您可以导航到应用目录并启动 Laravel Sail。Laravel Sail 提供了一个简单的命令行界面,用于与 Laravel 的默认 Docker 配置进行交互:

shell
cd example-app

./vendor/bin/sail up

一旦应用的 Docker 容器启动,您应该运行应用的 数据库迁移:

shell
./vendor/bin/sail artisan migrate

最后,您可以在 Web 浏览器中访问应用,地址为: http://localhost。

注意

要继续了解更多关于 Laravel Sail 的信息,请查看其 完整文档。

Windows 上的 Sail ​

在 Windows 机器上创建新的 Laravel 应用之前,请确保安装了 Docker Desktop。接下来,您应该确保已安装并启用 Windows 子系统 Linux 2 (WSL2)。WSL 允许您在 Windows 10 上本地运行 Linux 二进制可执行文件。有关如何安装和启用 WSL2 的信息,请参阅 Microsoft 的 开发者环境文档。

注意

安装并启用 WSL2 后,您应该确保 Docker Desktop 配置为使用 WSL2 后端。

接下来,您准备好创建第一个 Laravel 应用了。启动 Windows Terminal,并为您的 WSL2 Linux 操作系统开始一个新的终端会话。接下来,您可以使用简单的终端命令创建新的 Laravel 应用。例如,要在名为“example-app”的目录中创建新的 Laravel 应用,您可以在终端中运行以下命令:

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

当然,您可以将此 URL 中的“example-app”更改为您喜欢的任何名称 - 只需确保应用名称仅包含字母数字字符、破折号和下划线。Laravel 应用的目录将在您执行命令的目录中创建。

Sail 安装可能需要几分钟,因为 Sail 的应用容器在您的本地机器上构建。

应用创建后,您可以导航到应用目录并启动 Laravel Sail。Laravel Sail 提供了一个简单的命令行界面,用于与 Laravel 的默认 Docker 配置进行交互:

shell
cd example-app

./vendor/bin/sail up

一旦应用的 Docker 容器启动,您应该运行应用的 数据库迁移:

shell
./vendor/bin/sail artisan migrate

最后,您可以在 Web 浏览器中访问应用,地址为: http://localhost。

注意

要继续了解更多关于 Laravel Sail 的信息,请查看其 完整文档。

在 WSL2 中开发 ​

当然,您需要能够修改在 WSL2 安装中创建的 Laravel 应用文件。为此,我们建议使用 Microsoft 的 Visual Studio Code 编辑器及其第一方扩展 Remote Development。

安装这些工具后,您可以通过在应用的根目录中使用 Windows Terminal 执行 code . 命令来打开任何 Laravel 应用。

Linux 上的 Sail ​

如果您在 Linux 上开发并且已经安装了 Docker Compose,您可以使用简单的终端命令创建新的 Laravel 应用。

首先,如果您使用的是 Docker Desktop for Linux,您应该执行以下命令。如果您不使用 Docker Desktop for Linux,则可以跳过此步骤:

shell
docker context use default

然后,要在名为“example-app”的目录中创建新的 Laravel 应用,您可以在终端中运行以下命令:

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

当然,您可以将此 URL 中的“example-app”更改为您喜欢的任何名称 - 只需确保应用名称仅包含字母数字字符、破折号和下划线。Laravel 应用的目录将在您执行命令的目录中创建。

Sail 安装可能需要几分钟,因为 Sail 的应用容器在您的本地机器上构建。

应用创建后,您可以导航到应用目录并启动 Laravel Sail。Laravel Sail 提供了一个简单的命令行界面,用于与 Laravel 的默认 Docker 配置进行交互:

shell
cd example-app

./vendor/bin/sail up

一旦应用的 Docker 容器启动,您应该运行应用的 数据库迁移:

shell
./vendor/bin/sail artisan migrate

最后,您可以在 Web 浏览器中访问应用,地址为: http://localhost。

注意

要继续了解更多关于 Laravel Sail 的信息,请查看其 完整文档。

选择您的 Sail 服务 ​

通过 Sail 创建新 Laravel 应用时,您可以使用 with 查询字符串变量选择应在新应用的 docker-compose.yml 文件中配置哪些服务。可用的服务包括 mysql、pgsql、mariadb、redis、valkey、memcached、meilisearch、typesense、minio、selenium 和 mailpit:

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

如果您未指定希望配置的服务,则将配置默认堆栈 mysql、redis、meilisearch、mailpit 和 selenium。

您可以通过将 devcontainer 参数添加到 URL 来指示 Sail 安装默认的 Devcontainer:

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

IDE 支持 ​

在开发 Laravel 应用时,您可以自由使用任何代码编辑器;然而, PhpStorm 为 Laravel 及其生态系统提供了广泛的支持,包括 Laravel Pint。

此外,社区维护的 Laravel Idea PhpStorm 插件提供了多种有用的 IDE 增强功能,包括代码生成、Eloquent 语法补全、验证规则补全等。

Laravel 与 AI ​

Laravel Boost 是一款强大的工具,用于弥合 AI 编码代理与 Laravel 应用之间的差距。Boost 为 AI 代理提供特定于 Laravel 的上下文、工具和指南,使其能够生成更准确、针对特定版本且遵循 Laravel 约定的代码。

当您在 Laravel 应用中安装 Boost 后,AI 代理可使用超过 15 个专用工具,包括识别您正在使用的包、查询数据库、搜索 Laravel 文档、读取浏览器日志、生成测试,以及通过 Tinker 执行代码。

此外,Boost 为 AI 代理提供对超过 17,000 条向量化的 Laravel 生态系统文档的访问,这些文档特定于您已安装的软件包版本。这意味着代理可以提供精确针对您项目所用版本的指导。

Boost 还包含由 Laravel 维护的 AI 指南,引导代理遵循框架约定、编写适当的测试,并在生成 Laravel 代码时避免常见陷阱。

安装 Laravel Boost ​

Boost 可安装在运行 PHP 8.1 或更高版本的 Laravel 10、11 和 12 应用中。首先,将 Boost 作为开发依赖进行安装:

shell
composer require laravel/boost --dev

安装完成后,运行交互式安装程序:

shell
php artisan boost:install

安装程序会自动检测您的 IDE 和 AI 代理,允许您选择适合项目的功能。Boost 尊重现有的项目约定,默认不会强制推行带有主观偏好的样式规则。

注意

如需了解更多关于 Boost 的信息,请查看 GitHub 上的 Laravel Boost 仓库。

下一步 ​

现在您已经创建了 Laravel 应用,您可能想知道接下来学习什么。首先,我们强烈建议您通过阅读以下文档来熟悉 Laravel 的工作原理:

您使用 Laravel 的方式也将决定您旅程的下一步。有多种使用 Laravel 的方式,下面我们将探讨框架的两种主要用例。

注意

新手使用 Laravel?请查看 Laravel Bootcamp,我们将带您通过构建第一个 Laravel 应用进行框架的实操体验。

Laravel 全栈框架 ​

Laravel 可以作为全栈框架。我们所说的“全栈”框架是指您将使用 Laravel 路由请求到您的应用,并通过 Blade 模板 或单页面应用混合技术(如 Inertia)渲染前端。这是使用 Laravel 框架的最常见方式,也是我们认为使用 Laravel 的最有效方式。

如果这是您计划使用 Laravel 的方式,您可能想查看我们关于 前端开发、路由、视图 或 Eloquent ORM 的文档。此外,您可能会对社区包如 Livewire 和 Inertia 感兴趣。这些包允许您在享受单页面 JavaScript 应用提供的许多 UI 优势的同时,将 Laravel 作为全栈框架。

如果您将 Laravel 作为全栈框架使用,我们还强烈建议您学习如何使用 Vite 编译应用的 CSS 和 JavaScript。

注意

如果您想在构建应用时获得一些帮助,请查看我们的官方 应用启动工具包。

Laravel API 后端 ​

Laravel 还可以作为 JavaScript 单页面应用或移动应用的 API 后端。例如,您可能会将 Laravel 用作 Next.js 应用的 API 后端。在这种情况下,您可以使用 Laravel 提供 身份验证 和数据存储/检索服务,同时利用 Laravel 的强大服务,如队列、电子邮件、通知等。

如果这是您计划使用 Laravel 的方式,您可能想查看我们关于 路由、Laravel Sanctum 和 Eloquent ORM 的文档。

注意

需要在构建 Laravel 后端和 Next.js 前端时获得一些帮助?Laravel Breeze 提供了一个 API 堆栈 以及 Next.js 前端实现,让您可以在几分钟内开始。