跳过至内容

安装

认识 Laravel

Laravel 是一个 Web 应用程序框架,具有表达性、优雅的语法。Web 框架为创建应用程序提供结构和起点,让您可以专注于创建令人惊叹的东西,而我们将处理细节。

Laravel 致力于提供出色的开发者体验,同时提供强大的功能,例如全面的依赖项注入、表达性的数据库抽象层、队列和计划作业、单元和集成测试等等。

无论您是 Web 框架的新手还是拥有多年的经验,Laravel 都是一个可以与您一起成长的框架。我们将帮助您迈出 Web 开发的第一步,或在您将专业知识提升到下一个层次时助您一臂之力。我们迫不及待地想看看您会构建什么。

lightbulb

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 应用程序之前,请确保您的本地机器已安装 PHPComposerLaravel 安装程序。此外,您应该安装 Node 和 NPM,以便您可以编译应用程序的前端资产。

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

/bin/bash -c "$(curl -fsSL https://php.new/install/mac)"
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'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux)"

运行上述命令之一后,您应该重新启动终端会话。要更新通过 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
 
composer run dev

启动开发服务器后,您可以在 Web 浏览器中通过 https://127.0.0.1:8000 访问您的应用程序。接下来,您就可以 开始迈入 Laravel 生态系统 了。当然,您可能还想 配置数据库

lightbulb

如果您希望在开发 Laravel 应用程序时有一个先发优势,请考虑使用我们的 入门套件 之一。Laravel 的入门套件为您的新 Laravel 应用程序提供后端和前端身份验证脚手架。

初始配置

Laravel 框架的所有配置文件都存储在 config 目录中。每个选项都有文档,因此请随意浏览这些文件,熟悉可用的选项。

Laravel 在开箱即用时几乎不需要任何额外的配置。您可以随时开始开发!但是,您可能希望查看 config/app.php 文件及其文档。它包含一些选项,例如 timezonelocale,您可能希望根据应用程序进行更改。

基于环境的配置

由于 Laravel 的许多配置选项值可能会因应用程序是在本地机器上运行还是在生产 Web 服务器上运行而异,因此许多重要的配置值是使用位于应用程序根目录的 .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 应始终从为 Web 服务器配置的“Web 目录”的根目录提供服务。您不应尝试从“Web 目录”的子目录提供 Laravel 应用程序的服务。尝试这样做可能会暴露应用程序中存在的敏感文件。

使用 Herd 进行本地安装

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

安装 Herd 后,您就可以开始使用 Laravel 进行开发了。Herd 包含用于 phpcomposerlaravelexposenodenpmnvm 的命令行工具。

lightbulb

Herd Pro 在 Herd 的基础上增加了强大的功能,例如创建和管理本地 MySQL、Postgres 和 Redis 数据库,以及本地邮件查看和日志监控。

macOS 上的 Herd

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

Herd for macOS 使用 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 网站 下载 Herd 的 Windows 安装程序。安装完成后,您可以启动 Herd 以完成入职流程并首次访问 Herd UI。

Herd UI 可以通过左键单击 Herd 的系统托盘图标访问。右键单击会打开快速菜单,您可以访问日常需要的所有工具。

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

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

lightbulb

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

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

最后,您可以在 Web 浏览器中访问应用程序,地址为:https://127.0.0.1

lightbulb

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

Windows 上的 Sail

在我们开始在您的 Windows 机器上创建一个新的 Laravel 应用程序之前,请确保您已经安装了 Docker Desktop。接下来,您应该确保 Windows Subsystem for Linux 2 (WSL2) 已安装并启用。WSL 允许您在 Windows 10 上原生运行 Linux 二进制可执行文件。有关如何安装和启用 WSL2 的信息,请查看 Microsoft 的 开发人员环境文档

lightbulb

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

接下来,您就可以创建第一个 Laravel 应用程序了。启动 Windows Terminal 并为您的 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

最后,您可以在 Web 浏览器中访问应用程序,地址为:https://127.0.0.1

lightbulb

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

在 WSL2 中开发

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

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

Linux 上的 Sail

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

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

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

最后,您可以在 Web 浏览器中访问应用程序,地址为: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 前端实现,以便您在几分钟内开始使用。