安装
了解 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.3)"
# Run as administrator...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.3'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.3)"
运行上述命令之一后,您应该重新启动终端会话。要在使用 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-appnpm install && npm run buildcomposer run dev
启动开发服务器后,您的应用程序将在您的 Web 浏览器中以 https://127.0.0.1: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=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=laravelDB_USERNAME=rootDB_PASSWORD=
如果您选择使用 SQLite 以外的数据库,您将需要创建数据库并运行应用程序的数据库迁移
php artisan migrate
如果您在 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 包含了用于 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 应用程序最快的方法是使用 Laravel CLI,它已与 Herd 捆绑在一起。
cd ~/Herdlaravel new my-appcd my-appherd open
当然,你始终可以通过 Herd 系统托盘菜单打开的 Herd UI 管理你的停放目录和其他 PHP 设置。
你可以查看 Herd 文档,了解更多关于 Herd 的信息。
Windows 上的 Herd
你可以在 Herd 网站上下载 Herd 的 Windows 安装程序。安装完成后,你可以启动 Herd 以完成引导过程并首次访问 Herd UI。
可以通过左键单击 Herd 的系统托盘图标来访问 Herd UI。右键单击会打开快速菜单,其中包含你日常所需的所有工具。
在安装过程中,Herd 会在你的主目录 %USERPROFILE%\Herd
中创建一个“停放”目录。任何停放在目录中的 Laravel 应用程序都会自动由 Herd 提供服务,你可以使用其目录名称,在 .test
域名上访问此目录中的任何 Laravel 应用程序。
安装 Herd 后,创建新的 Laravel 应用程序最快的方法是使用 Laravel CLI,它已与 Herd 捆绑在一起。要开始使用,请打开 Powershell 并运行以下命令
cd ~\Herdlaravel new my-appcd my-appherd 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 浏览器中通过以下网址访问应用程序:https://127.0.0.1。
要继续了解有关 Laravel Sail 的更多信息,请查看其完整文档。
Windows 上的 Sail
在你的 Windows 机器上创建新的 Laravel 应用程序之前,请确保安装 Docker Desktop。接下来,你应该确保安装并启用了适用于 Linux 2 的 Windows 子系统 (WSL2)。WSL 允许你在 Windows 10 上本机运行 Linux 二进制可执行文件。有关如何安装和启用 WSL2 的信息,可以在 Microsoft 的 开发者环境文档中找到。
安装并启用 WSL2 后,你应该确保 Docker Desktop 配置为使用 WSL2 后端。
接下来,你就可以创建你的第一个 Laravel 应用程序了。启动 Windows 终端 并为你的 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。
要继续了解有关 Laravel Sail 的更多信息,请查看其完整文档。
在 WSL2 中进行开发
当然,你需要能够修改在你的 WSL2 安装中创建的 Laravel 应用程序文件。为此,我们建议使用 Microsoft 的 Visual Studio Code 编辑器及其用于 远程开发的第一方扩展。
安装这些工具后,你可以使用 Windows 终端,从应用程序的根目录执行 code .
命令来打开任何 Laravel 应用程序。
Linux 上的 Sail
如果你在 Linux 上进行开发并且已经安装了 Docker Compose,你可以使用一个简单的终端命令来创建新的 Laravel 应用程序。
首先,如果你使用适用于 Linux 的 Docker Desktop,则应执行以下命令。如果你不使用适用于 Linux 的 Docker Desktop,则可以跳过此步骤
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。
要继续了解有关 Laravel Sail 的更多信息,请查看其完整文档。
选择您的 Sail 服务
通过 Sail 创建新的 Laravel 应用程序时,你可以使用 with
查询字符串变量来选择应在新应用程序的 docker-compose.yml
文件中配置的服务。可用的服务包括 mysql
、pgsql
、mariadb
、redis
、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 这样的社区包感兴趣。这些包允许你将 Laravel 用作全栈框架,同时享受单页 JavaScript 应用程序提供的许多 UI 好处。
如果你将 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 前端实现,以便您可以在几分钟内开始使用。