Skip to content

安装

认识 Laravel

Laravel 是一个 Web 应用程序框架,具有富有表现力、优雅的语法。Web 框架为创建应用程序提供了结构和起点,让您专注于创建令人惊叹的内容,而我们则专注于细节。

Laravel 致力于提供出色的开发人员体验,同时提供强大的功能,例如彻底的依赖关系注入、富有表现力的数据库抽象层、队列和计划作业、单元和集成测试等。

无论您是 PHP Web 框架的新手还是拥有多年的经验,Laravel 都是一个可以与您一起成长的框架。我们将帮助您迈出 Web 开发人员的第一步,或者在您将专业知识提升到一个新的水平时为您提供帮助。我们迫不及待地想看看您构建了什么。

NOTE

Laravel 新手?查看 Laravel 训练营 以获得框架的动手实践之旅,同时我们将引导您构建您的第一个 Laravel 应用程序。

为什么选择 Laravel?

在构建 Web 应用程序时,您可以使用各种工具和框架。但是,我们认为 Laravel 是构建现代全栈 Web 应用程序的最佳选择

渐进式框架

我们喜欢将 Laravel 称为“渐进式”框架。我们的意思是 Laravel 与您一起成长。如果您刚刚迈出 Web 开发的第一步,Laravel 庞大的文档、指南和视频教程库将帮助您学习诀窍而不会不知所措。

如果您是高级开发人员,Laravel 为您提供了强大的工具,用于依赖项注入单元测试队列实时事件等。Laravel 专为构建专业 Web 应用程序进行了微调,并准备好处理企业工作负载。

可扩展的框架

Laravel 具有令人难以置信的可扩展性。由于 PHP 的扩展友好性以及 Laravel 对 Redis 等快速分布式缓存系统的内置支持,使用 Laravel 进行水平扩展变得轻而易举。事实上,Laravel 应用程序已经很容易扩展,每月可以处理数亿个请求。

需要 extreme 扩展?Laravel Vapor 等平台允许您在 AWS 最新的无服务器技术上以近乎无限的规模运行 Laravel 应用程序。

社区框架

Laravel 结合了 PHP 生态系统中最好的软件包,以提供最强大且对开发人员友好的框架。此外,来自世界各地的数千名才华横溢的开发人员为该框架做出了贡献。谁知道呢,也许你甚至会成为 Laravel 的贡献者。

创建 Laravel 项目

在创建您的第一个 Laravel 项目之前,请确保您的本地计算机已安装 PHP 和 Composer。如果您在 macOS 或 Windows 上进行开发,PHP、Composer、Node 和 NPM 可以通过 Laravel Herd 在几分钟内安装。

安装 PHP 和 Composer 后,您可以通过 Composer 的 create-project 命令创建一个新的 Laravel 项目:

php
composer create-project laravel/laravel example-app

或者,您可以通过 Composer 全局安装 Laravel 安装程序来创建新的 Laravel 项目。Laravel 安装程序允许您在创建新应用程序时选择首选的测试框架、数据库和初学者工具包:

php
composer global require laravel/installer

laravel new example-app

创建项目后,使用 Laravel Artisan 的 serve 命令启动 Laravel 的本地开发服务器:

php
cd example-app

php artisan serve

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

NOTE

如果您想在开发 Laravel 应用程序时抢占先机,请考虑使用我们的入门工具包之一。Laravel 的初学者工具包为您的新 Laravel 应用程序提供后端和前端身份验证脚手架。

初始配置

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

Laravel 几乎不需要开箱即用的额外配置。您可以自由地开始开发!但是,您可能希望查看 config/app.php 文件及其文档。它包含多个选项,例如时区区域设置,您可能希望根据应用程序进行更改。

基于环境的配置

由于 Laravel 的许多配置选项值可能会有所不同,具体取决于您的应用程序是在本地计算机上运行还是在生产 Web 服务器上运行,因此许多重要的配置值都是使用存在于应用程序根目录中的 .env 文件定义的。

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

NOTE

有关 .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

NOTE

如果您在 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 的命令行工具。

NOTE

Herd Pro 通过其他强大的功能增强了 Herd,例如创建和管理本地 MySQL、Postgres 和 Redis 数据库的能力,以及本地邮件查看和日志监控。

Herd on macOS

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

macOS 版 Herd 使用 dnsmasq 来支持 “parked” 目录。停放目录中的任何 Laravel 应用程序都将由 Herd 自动提供。默认情况下,Herd 在 ~/Herd 创建一个停放目录,您可以使用其目录名称在 .test 域上访问该目录中的任何 Laravel 应用程序。

安装 Herd 后,创建新 Laravel 项目的最快方法是使用 Laravel CLI,它与 Herd 捆绑在一起:

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

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

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

Herd on Windows

您可以在 Herd 网站上下载适用于 Herd 的 Windows 安装程序。安装完成后,您可以启动 Herd 以完成入门流程并首次访问 Herd UI。

可以通过左键单击 Herd 的系统托盘图标来访问 Herd UI。右键单击可打开快捷菜单,其中可以访问您每天需要的所有工具。

在安装过程中,Herd 会在 %USERPROFILE%\Herd 的主目录中创建一个“停放”目录。停放目录中的任何 Laravel 应用程序都将由 Herd 自动提供,您可以使用其目录名称在 .test 域上访问此目录中的任何 Laravel 应用程序。

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

php
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 经验。

NOTE

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

Sail on macOS

如果您在 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

NOTE

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

Sail on Windows

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

NOTE

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

接下来,您可以创建您的第一个 Laravel 项目。启动 Windows 终端并开始 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

NOTE

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

Developing Within WSL2

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

安装这些工具后,您可以通过使用 Windows 终端从应用程序的根目录执行代码 .命令来打开任何 Laravel 项目。

Sail on Linux

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

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

shell
docker context use default

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

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

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

Sail installation may take several minutes while Sail's application containers are built on your local machine.

Sail 的安装可能需要几分钟时间,而 Sail 的应用程序容器是在本地计算机上构建的。

shell
cd example-app

./vendor/bin/sail up

应用程序的 Docker 容器启动后,您应该运行应用程序的数据库迁移

shell
./vendor/bin/sail artisan migrate

最后,您可以在 Web 浏览器中访问该应用程序:http://localhost

NOTE

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

选择您的 Sail 服务

通过 Sail 创建新的 Laravel 应用程序时,您可以使用 with 查询字符串变量来选择应在新应用程序的 docker-compose.yml 文件中配置哪些服务。可用的服务包括 mysqlpgsqlmariadbredismemcachedmeilisearchtypesenseminioseleniummailpit

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

如果您未指定要配置的服务,将配置 mysqlredismeilisearchmailpitselenium 的默认堆栈。

您可以通过在 URL 中添加 devcontainer 参数来指示 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 项目,您可能想知道接下来要学习什么。首先,我们强烈建议您通过阅读以下文档来熟悉 Laravel 的工作原理:

您希望如何使用 Laravel 也将决定您旅程的后续步骤。有多种方法可以使用 Laravel,我们将在下面探讨该框架的两个主要用例。

NOTE

Laravel 新手?查看 Laravel 训练营 以获得框架的动手实践之旅,同时我们将引导您构建您的第一个 Laravel 应用程序。

全栈框架

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

如果你打算这样使用 Laravel,你可能想查看我们关于前端开发路由视图Eloquent ORM 的文档。此外,您可能对了解 LivewireInertia 等社区软件包感兴趣。这些软件包允许您将 Laravel 用作全栈框架,同时享受单页 JavaScript 应用程序提供的许多 UI 优势。

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

NOTE

如果您想抢占先机构建应用程序,请查看我们的官方应用程序初学者工具包之一。

Laravel API 后端

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

如果这是你打算使用 Laravel 的方式,你可能想查看我们关于路由Laravel SanctumEloquent ORM 的文档。

NOTE

需要抢先搭建 Laravel 后端和 Next.js 前端的脚手架吗?Laravel Breeze 提供 API 堆栈以及Next.js前端实现,因此您可以在几分钟内开始使用。