安装
初识 Laravel
Laravel 是一个具有表达力、优雅语法的 Web 应用程序框架。Web 框架为创建应用程序提供了结构和起点,让你能够专注于创造令人惊叹的事物,而我们将负责处理细节。
Laravel 致力于提供极致的开发者体验,同时提供强大的功能,如完善的依赖注入、富有表现力的数据库抽象层、队列和计划任务、单元与集成测试等。
无论你是 PHP Web 框架的新手还是拥有多年经验的开发者,Laravel 都是一个能与你共同成长的框架。我们将帮助你迈出作为 Web 开发者的第一步,或在你提升专业技能时助你一臂之力。我们迫不及待地想看到你的作品。
为什么选择 Laravel?
构建 Web 应用程序时,有多种工具和框架可供选择。然而,我们坚信 Laravel 是构建现代全栈 Web 应用程序的最佳选择。
一个渐进式的框架
我们喜欢称 Laravel 为“渐进式”框架。这意味着 Laravel 会随着你的成长而成长。如果你刚刚踏入 Web 开发领域,Laravel 丰富的文档库、指南和视频教程将帮助你轻松上手,而不会感到不知所措。
如果你是一位资深开发者,Laravel 为你提供了强大的工具,包括依赖注入、单元测试、队列、实时事件等。Laravel 专为构建专业 Web 应用程序而调优,并已准备好应对企业级的负载。
一个可扩展的框架
Laravel 具有极佳的可扩展性。得益于 PHP 本身良好的扩展性以及 Laravel 对 Redis 等快速分布式缓存系统的内置支持,使用 Laravel 进行水平扩展非常简单。事实上,Laravel 应用程序已被轻松扩展至每月处理数亿次请求的规模。
需要极致扩展?像 Laravel Cloud 这样的平台,让你能够以近乎无限的规模运行你的 Laravel 应用程序。
一个 AI 智能体就绪的框架
Laravel 约定大于配置的特点和清晰定义的结构,使其成为使用 Cursor 和 Claude Code 等工具进行 AI 辅助开发的理想框架。当你要求 AI 智能体添加控制器时,它明确知道该放在哪里。当你需要新的迁移文件时,命名规范和文件位置是可预测的。这种一致性消除了那些在更灵活的框架中常让 AI 工具“踩坑”的猜测过程。
除了文件组织,Laravel 富有表达力的语法和全面的文档,为 AI 智能体提供了生成准确、地道代码所需的上下文。Eloquent 关系、表单请求和中间件等功能遵循智能体可以可靠理解和复刻的模式。结果就是 AI 生成的代码看起来就像出自资深 Laravel 开发者之手,而不是从通用的 PHP 代码片段中拼凑出来的。
要了解为什么 Laravel 是 AI 辅助开发的完美选择,请查看我们关于智能体开发的文档。
一个社区驱动的框架
Laravel 结合了 PHP 生态系统中最好的包,提供了现今最强大且对开发者友好的框架。此外,全球数以千计的优秀开发者已经为该框架做出了贡献。谁知道呢,也许你也会成为 Laravel 的贡献者。
创建 Laravel 应用程序
安装 PHP 和 Laravel 安装程序
在创建你的第一个 Laravel 应用程序之前,请确保你的本地机器已安装 PHP、Composer 和 Laravel 安装程序。此外,你应该安装 Node 和 NPM 或 Bun,以便编译应用程序的前端资源。
如果你的本地机器尚未安装 PHP 和 Composer,以下命令可以在 macOS、Windows 或 Linux 上安装 PHP、Composer 和 Laravel 安装程序。
1/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"
1# Run as administrator...2Set-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'))
1/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"
运行上述命令后,你应该重新启动终端会话。若要更新通过 php.new 安装的 PHP、Composer 和 Laravel 安装程序,可以在终端中重新运行该命令。
如果你已经安装了 PHP 和 Composer,可以通过 Composer 安装 Laravel 安装程序:
1composer global require laravel/installer
如需功能完备的图形化 PHP 安装及管理体验,请查看 Laravel Herd。
创建应用程序
安装 PHP、Composer 和 Laravel 安装程序后,即可创建新的 Laravel 应用程序。Laravel 安装程序会提示你选择偏好的测试框架、数据库和入门套件。
1laravel new example-app
应用程序创建完成后,你可以使用 dev Composer 脚本启动 Laravel 的本地开发服务器、队列工作进程和 Vite 开发服务器:
1cd example-app2npm install && npm run build3composer run dev
开发服务器启动后,你可以在浏览器中通过 https://:8000 访问你的应用程序。接下来,你准备好开始踏入 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_* 变量:
1DB_CONNECTION=mysql2DB_HOST=127.0.0.13DB_PORT=33064DB_DATABASE=laravel5DB_USERNAME=root6DB_PASSWORD=
如果你选择使用 SQLite 以外的数据库,则需要自行创建数据库并运行应用程序的数据库迁移。
1php artisan migrate
目录配置
Laravel 应始终从 Web 服务器配置的“Web 目录”根目录运行。你不应尝试从“Web 目录”的子目录中运行 Laravel 应用程序。这样做可能会暴露应用程序中的敏感文件。
使用 Herd 进行安装
Laravel Herd 是一款运行极快、原生于 macOS 和 Windows 的 Laravel 及 PHP 开发环境。Herd 包含了你开始 Laravel 开发所需的一切,包括 PHP 和 Nginx。
安装 Herd 后,你即可开始 Laravel 开发。Herd 提供了 php、composer、laravel、expose、node、npm 和 nvm 的命令行工具。
Herd Pro 为 Herd 增强了强大的功能,例如创建和管理本地 MySQL、Postgres 和 Redis 数据库,以及本地邮件预览和日志监控。
macOS 上的 Herd
如果你在 macOS 上开发,可以从 Herd 网站下载安装程序。安装程序会自动下载最新版本的 PHP 并将你的 Mac 配置为在后台运行 Nginx。
macOS 版 Herd 使用 dnsmasq 来支持“驻留(parked)”目录。任何驻留目录下的 Laravel 应用程序都会自动由 Herd 提供服务。默认情况下,Herd 会在 ~/Herd 创建一个驻留目录,你可以通过 .test 域名并在该目录中通过项目文件夹名称访问任何 Laravel 应用程序。
安装 Herd 后,创建新 Laravel 应用程序的最快方法是使用 Herd 捆绑的 Laravel CLI:
1cd ~/Herd2laravel new my-app3cd my-app4herd open
当然,你始终可以通过 Herd 的 UI 管理你的驻留目录及其他 PHP 设置,该 UI 可从系统托盘的 Herd 菜单中打开。
你可以查看 Herd 文档了解更多信息。
Windows 上的 Herd
你可以从 Herd 网站下载 Windows 版安装程序。安装完成后,启动 Herd 即可完成初始化流程并首次访问 Herd UI。
左键单击 Herd 的系统托盘图标即可访问 Herd UI。右键单击则会打开快速菜单,方便访问日常所需的各种工具。
安装期间,Herd 会在你的用户主目录下创建一个“驻留”目录:%USERPROFILE%\Herd。任何驻留目录下的 Laravel 应用程序都会自动由 Herd 提供服务,你可以通过 .test 域名并在该目录中通过项目文件夹名称访问任何 Laravel 应用程序。
安装 Herd 后,创建新 Laravel 应用程序的最快方法是使用 Herd 捆绑的 Laravel CLI。要开始使用,请打开 Powershell 并运行以下命令:
1cd ~\Herd2laravel new my-app3cd my-app4herd open
你可以查看 Windows 版 Herd 文档了解更多信息。
IDE 支持
开发 Laravel 应用程序时,你可以自由选择任何代码编辑器。如果你在寻找轻量级且可扩展的编辑器,VS Code 或 Cursor 配合官方的 Laravel VS Code Extension 提供了出色的支持,包括语法高亮、代码片段、Artisan 命令集成,以及针对 Eloquent 模型、路由、中间件、资源、配置和 Inertia.js 的智能补全功能。
若需要全面且健壮的 Laravel 支持,请查看 JetBrains 的 IDE —— PhpStorm。PhpStorm 内置的 Laravel 框架支持涵盖了 Blade 模板、Eloquent 模型、路由、视图、翻译和组件的智能补全,以及强大的代码生成和跨项目导航功能。
对于追求云端开发体验的用户,Firebase Studio 提供了直接在浏览器中进行 Laravel 开发的即时环境。无需任何设置,Firebase Studio 让你能从任何设备轻松开始构建 Laravel 应用程序。
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 和 13 应用程序中。若要开始,请将 Boost 安装为开发依赖:
1composer require laravel/boost --dev
安装完成后,运行交互式安装程序:
1php artisan boost:install
安装程序会自动检测你的 IDE 和 AI 智能体,允许你选择性开启对项目有益的功能。Boost 尊重现有的项目规范,默认情况下不会强加主观的代码风格规则。
要了解关于 Boost 的更多信息,请查阅 GitHub 上的 Laravel Boost 仓库。
添加自定义 AI 指南
要通过你自己的自定义 AI 指南来增强 Laravel Boost,请将 .blade.php 或 .md 文件添加到应用程序的 .ai/guidelines/* 目录中。运行 boost:install 时,这些文件将自动包含在 Laravel Boost 的指南中。
后续步骤
现在你已经创建了 Laravel 应用程序,可能想知道接下来该学习什么。首先,我们强烈建议通过阅读以下文档来熟悉 Laravel 的工作原理:
你希望如何使用 Laravel 将决定你后续的学习路径。使用 Laravel 的方式多种多样,我们在下方探讨两种主要的框架应用场景。
作为全栈框架的 Laravel
Laravel 可以作为全栈框架使用。所谓的“全栈”框架,是指你将使用 Laravel 处理应用程序的请求路由,并通过 Blade 模板或诸如 Inertia 的单页应用混合技术来渲染前端。这是使用 Laravel 最常见的方式,也是我们认为最高效的方式。
如果你计划这样使用 Laravel,你可能需要查看我们关于 前端开发、路由、视图或 Eloquent ORM 的文档。此外,你可能还会对社区包如 Livewire 和 Inertia 感兴趣。这些包让你能够在使用 Laravel 作为全栈框架的同时,享受单页 JavaScript 应用带来的许多 UI 优势。
如果你将 Laravel 用作全栈框架,我们也强烈建议你学习如何使用 Vite 编译应用程序的 CSS 和 JavaScript。
如果你想在构建应用程序时快人一步,请查看我们的官方应用程序入门套件。
作为 API 后端的 Laravel
Laravel 也可以作为 JavaScript 单页应用或移动应用的 API 后端。例如,你可能会将 Laravel 用作 Next.js 应用的 API 后端。在这种场景下,你可以利用 Laravel 提供身份验证以及数据存储/检索功能,同时还可以充分利用 Laravel 强大的服务,如队列、邮件、通知等。
如果你计划这样使用 Laravel,你可能需要查看我们关于 路由、Laravel Sanctum 以及 Eloquent ORM 的文档。