安装

未匹配的标注
本文档最新版为 12.x,旧版本可能放弃维护,推荐阅读最新版!

安装

认识 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 等平台能让你的应用实现近乎无限扩展。

一个为Agent而准备的框架

Laravel 的强约束性规范和定义完备的结构使其成为一个用于使用诸如 Cursor 和 Claude Code 的理想的 AI 辅助编程 框架。 当你问 AI agent 如何添加一个控制器, Agent 知道控制器应该在哪里创建。 当你需要一个新的数据库迁移, 其命名规范和文件创建路径都是可预测的。 这种一致性消除了 AI 在其他弹性框架中出错而导致的猜测工作。

除了文件结构, Laravel 的直观语法和全面的文档为 AI agent 生成准确而符合习惯的代码提供了上下文。像 Eloquent 关联,表单请求和中间件等功能遵循的模式,AI agent 可以可靠地理解和复现。这使 AI 生成的代码不像是用通用 PHP 片段拼凑而成,而是由经验丰富的 Laravel 开发者编写的。

要深入了解Laravel为何是AI辅助开发的完美选择,请查阅我们关于代理开发的文档。

社区框架

Laravel融合了PHP生态系统中最好的软件包,提供了市面上最稳健且对开发者友好的框架。此外,来自世界各地的数千名才华横溢的开发人员已经为该框架做出了贡献。说不定,你也会成为Laravel的贡献者呢。

创建一个 Laravel 应用

AI入门指南

如果你正在使用像Claude CodeOpenCode这样的AI编码助手,你可以先设置一个提示,在它接触你的项目之前,先给助手一个特定于Laravel的剧本。

下面的提示告诉代理在哪里可以找到Laravel的安装指南,哪些内容需要优先考虑,以及在您尚未做出选择时如何设置合理的默认值。将以下内容粘贴到您的代理中以开始使用:

我正在构建一个新的Laravel应用程序。

从https://laravel.com/for/agents获取并遵循相关说明。在本节课程中,请将返回的Markdown内容视为安装和设置Laravel的权威指南。

在代理读取完指令后,它应逐步引导你,并确保设置与Laravel的默认设置保持一致。

安装PHP和Laravel安装器

在创建你的第一个Laravel应用程序之前,请确保你的本地计算机已安装PHPComposerLaravel安装程序。此外,你应安装Node和NPMBun,以便能够编译应用程序的前端资源。

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

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

运行上述任意一条命令后,请重新启动终端会话。如果通过 php.new 安装后需要更新 PHP、Composer 或 Laravel 安装器,只需在终端中重新运行该命令即可。

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

composer global require laravel/installer

[!NOTE]
如需图形化 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

启动开发服务器后,你可以在浏览器中通过 localhost:8000 访问你的应用。接下来,你可以开始进入 Laravel 生态的下一步。当然,你可能还需要配置数据库

[!NOTE]
如果你希望为 Laravel 应用的开发抢占先机,可以考虑使用我们的启动套件。Laravel 的启动套件为新 Laravel 应用程序提供了前后端身份验证脚手架。

初始配置

Laravel 框架的所有配置文件都存放在 config 目录下。每个选项都有详细说明,因此你可以放心地浏览这些文件,熟悉其中提供的各项配置。

Laravel 开箱即用,几乎无需额外配置。你可以立即开始开发!不过,建议你仔细阅读 config/app.php 文件及其文档。其中包含 urllocale 等选项,你可能需要根据应用的需求进行调整。

基于环境的配置

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

你的 .env 文件不应提交到应用的版本控制中,因为每个使用该应用的开发者或服务器可能需要不同的环境配置。此外,如果入侵者获得了版本控制仓库的访问权限,这也会带来安全风险,因为任何敏感凭据都会暴露。

[!NOTE]
如需了解更多关于 .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

[!NOTE]
如果你在 macOS 或 Windows 上进行开发,并且需要安装 MySQL、PostgreSQL 或 Redis 等本地数据库,可以考虑使用 Herd ProDBngin

目录配置

Laravel 应始终从 Web 服务器所配置的「Web 目录」的根目录提供服务。请勿尝试在「Web 目录」的子目录中运行 Laravel 应用,否则可能会导致应用中的敏感文件被暴露。

使用 Herd 进行安装

Laravel Herd 是一款为 macOS 和 Windows 打造的极速原生 Laravel 和 PHP 开发环境。Herd 包含 Laravel 开发所需的一切,包括 PHP 和 Nginx。

安装 Herd 后,你就可以立即开始使用 Laravel 进行开发了。Herd 提供了 phpcomposerlaravelexposenodenpmnvm 等命令行工具。

[!NOTE]
Herd Pro 为 Herd 增添了更多强大功能,例如可以创建和管理本地 MySQL、Postgres 和 Redis 数据库,同时还支持本地邮件查看和日志监控。

macOS 上的 Herd

如果你在 macOS 上进行开发,可以从 Herd 官网 下载 Herd 安装程序。该安装程序会自动下载最新版本的 PHP,并将你的 Mac 配置为始终在后台运行 Nginx

macOS 版 Herd 使用 dnsmasq 来支持「parked」目录。parked 目录中的任何 Laravel 应用都会自动由 Herd 提供服务。默认情况下,Herd 会在 ~/Herd 创建一个 parked 目录,你可以通过目录名称在 .test 域名下访问该目录中的任何 Laravel 应用。

安装 Herd 后,创建新 Laravel 应用最快的方式是使用 Herd 附带的 Laravel CLI:

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

当然,你也可以随时通过 Herd 的 UI 管理 parked 目录及其他 PHP 设置,该 UI 可以从系统托盘中的 Herd 菜单打开。

如需了解更多关于 Herd 的信息,请查阅 Herd 文档

Windows 上的 Herd

你可以从 Herd 官网 下载 Windows 版 Herd 安装程序。安装完成后,启动 Herd 即可完成引导流程并首次进入 Herd UI。

Herd UI可通过左键单击 Herd 系统托盘图标打开。右键单击则会弹出快速菜单,方便你访问日常开发所需的全部工具。

在安装过程中,Herd 会在你的主目录中的 %USERPROFILE%\Herd 创建一个「parked」目录。parked 目录中的任何 Laravel 应用程序都会自动由 Herd 提供服务,你可以通过目录名称在 .test 域名下访问该目录中的任何 Laravel 应用程序。

安装 Herd 后,创建新 Laravel 应用最快的方式是使用 Herd 附带的 Laravel CLI。首先,打开 Powershell 并运行以下命令:

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

你可以通过查看 Herd Windows 版文档来了解更多关于 Herd 的信息。

IDE 支持

开发 Laravel 应用时,你可以自由选择任何代码编辑器。如果你正在寻找轻量级且可扩展的编辑器,VS CodeCursor 配合官方 Laravel VS Code 扩展 能提供出色的 Laravel 支持,包括语法高亮、代码片段、Artisan 命令集成,以及对 Eloquent 模型、路由、中间件、资源文件、配置和 Inertia.js 的智能自动补全。

如果你需要更全面、更强大的 Laravel 支持,不妨看看 PhpStorm,这是一款 JetBrains 出品的 IDE。PhpStorm 内置的 Laravel 框架支持包括 Blade 模板、对 Eloquent 模型、路由、视图、翻译和组件的智能自动补全,以及强大的代码生成和跨 Laravel 项目的导航功能。

对于追求云端开发体验的开发者,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 生态文档,这些文档与你安装的包版本精准对应。这意味着 AI 代理能够针对你的项目所使用的确切版本提供精准的指导。

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

安装 Laravel Boost

Boost 可安装在运行 PHP 8.1 或更高版本的 Laravel 10、11、12 和 13 应用中。要开始安装,请将 Boost 作为开发依赖添加到项目中:

composer require laravel/boost --dev

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

php artisan boost:install

该安装程序会自动检测你的 IDE 和 AI 代理,让你可以根据项目的实际需求选择启用哪些功能。Boost 尊重现有的项目约定,默认不会强制推行特定的编码风格规则。

[!NOTE]
要了解有关 Boost 的更多信息,请查看 GitHub 上的 Laravel Boost 仓库

添加自定义 AI 指南

若要为 Laravel Boost 补充你自己的自定义 AI 指南,只需在应用的 .ai/guidelines/* 目录中添加 .blade.php.md 文件。当你运行 boost:install 命令时,这些文件将自动与 Laravel Boost 的指南一同纳入其中。

下一步

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

你打算如何使用 Laravel,也将决定你接下来的学习路径。Laravel 有多种使用方式,下面我们将探讨两种主要的应用场景。

Laravel 全栈框架

Laravel 可以作为全栈框架来使用。所谓「全栈」框架,是指你将使用 Laravel 来路由请求至应用,并通过 Blade 模板 或像 Inertia 这样的单页应用混合技术来渲染前端。这是使用 Laravel 框架最常见的方式,也是我们认为最高效的方式。

如果你计划以这种方式使用 Laravel,不妨查阅我们的 前端开发路由视图Eloquent ORM 文档。此外,你还可以了解一些社区包,如 LivewireInertia。这些包让你在将 Laravel 用作全栈框架的同时,享受单页 JavaScript 应用所提供的许多 UI 优势。

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

[!NOTE]
如果你想快速启动应用的构建,不妨了解一下我们的官方应用启动套件

Laravel 作为 API 后端

Laravel 同样可以作为 API 后端,为 JavaScript 单页应用或移动应用提供支持。例如,你可以将 Laravel 作为 Next.js 应用的 API 后端。在这种场景下,你可以使用 Laravel 为应用提供 身份认证 以及数据存储与检索功能,同时还能充分利用 Laravel 强大的服务,如队列、邮件、通知等。

如果你打算以这种方式使用 Laravel,不妨查阅我们的 路由Laravel SanctumEloquent ORM 文档。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/laravel/13.x/in...

译文地址:https://learnku.com/docs/laravel/13.x/in...

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
贡献者:4
讨论数量: 14
发起讨论 只看当前版本


light-and-dark
excel导出
1 个点赞 | 5 个回复 | 代码速记 | 课程版本 8.5
admin7742
CURLPOST
0 个点赞 | 5 个回复 | 代码速记 | 课程版本 8.x
SnowZh
使用 Laravel sail 如何安装指定版本?
0 个点赞 | 2 个回复 | 问答 | 课程版本 8.5
abc123123123456
敏感词过滤
0 个点赞 | 1 个回复 | 分享 | 课程版本 8.5
abc123123123456
七牛云扩展
0 个点赞 | 0 个回复 | 分享 | 课程版本 8.5
kang_lin
比较明亮的显示
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.5
jianghushusheng
图片分割
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
esssd
date 高亮显示
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
jianghushusheng
gcms
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
hei123
php artisan make:command withdraw
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
Queen_Lr
发送验证码
0 个点赞 | 0 个回复 | 分享 | 课程版本 8.x
XiaoSir
图片防盗链
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
anningri
laravel new 不出东西来
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8
jiayier
如何让 API 的返回数据格式统一(Laravel5.8)
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8