安装
认识 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 安装器:
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"
# 以管理员身份运行...
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'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"
运行上述命令后,您应该重启终端会话。要更新通过 php.new
安装的 PHP、Composer 和 Laravel 安装器,您可以在终端中重新运行命令。
如果您已经安装了 PHP 和 Composer,您可以通过 Composer 安装 Laravel 安装器:
composer global require laravel/installer
要获得功能齐全的图形 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
启动开发服务器后,您可以在 Web 浏览器中访问您的应用,地址为 http://localhost:8000。接下来,您准备好 开始进入 Laravel 生态系统的下一步。当然,您也可能想要 配置数据库。
如果您希望在开发 Laravel 应用时获得一些帮助,请考虑使用我们的 启动工具包。Laravel 的启动工具包为您的新 Laravel 应用提供后端和前端身份验证脚手架。
初始配置
Laravel 框架的所有配置文件都存储在 config
目录中。每个选项都有文档说明,因此请随意查看文件并熟悉可用的选项。
Laravel 几乎不需要额外的配置即可使用。您可以自由开始开发!但是,您可能希望查看 config/app.php
文件及其文档。它包含一些选项,如 timezone
和 locale
,您可能希望根据应用进行更改。
基于环境的配置
由于许多 Laravel 的配置选项值可能会因应用在本地机器上运行或在生产 Web 服务器上运行而有所不同,因此许多重要的配置值是通过位于应用根目录的 .env
文件定义的。
您的 .env
文件不应提交到应用的源代码控制中,因为使用您应用的每个开发者/服务器可能需要不同的环境配置。此外,如果入侵者获得了您的源代码库的访问权限,这将构成安全风险,因为任何敏感凭据都将暴露。
有关 .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
如果您在 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:
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 并运行以下命令:
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 应用,您可以在终端中运行以下命令:
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 浏览器中访问应用,地址为: 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 应用,您可以在终端中运行以下命令:
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 浏览器中访问应用,地址为: 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,则可以跳过此步骤:
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 浏览器中访问应用,地址为: http://localhost。
要继续了解更多关于 Laravel Sail 的信息,请查看其 完整文档。
选择您的 Sail 服务
通过 Sail 创建新 Laravel 应用时,您可以使用 with
查询字符串变量选择应在新应用的 docker-compose.yml
文件中配置哪些服务。可用的服务包括 mysql
、pgsql
、mariadb
、redis
、valkey
、memcached
、meilisearch
、typesense
、minio
、selenium
和 mailpit
:
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
如果您未指定希望配置的服务,则将配置默认堆栈 mysql
、redis
、meilisearch
、mailpit
和 selenium
。
您可以通过将 devcontainer
参数添加到 URL 来指示 Sail 安装默认的 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 的方式,下面我们将探讨框架的两种主要用例。
新手使用 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 前端实现,让您可以在几分钟内开始。