安装
认识 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 项目
在创建第一个 Laravel 项目之前,请确保您的本地计算机上已安装 PHP 和 Composer。如果您在 macOS 上进行开发,可以通过 Laravel Herd 在几分钟内安装 PHP 和 Composer。此外,我们建议安装 Node 和 NPM。
安装 PHP 和 Composer 后,您可以通过 Composer 的 create-project
命令创建一个新的 Laravel 项目:
composer create-project "laravel/laravel:^10.0" example-app
或者,您可以通过 Composer 全局安装 Laravel 安装器 来创建新的 Laravel 项目:
composer global require laravel/installer
laravel new example-app
项目创建完成后,使用 Laravel Artisan 的 serve
命令启动 Laravel 的本地开发服务器:
cd example-app
php artisan serve
启动 Artisan 开发服务器后,您的应用程序将在 Web 浏览器中通过 http://localhost:8000 访问。接下来,您可以开始进入 Laravel 生态系统的下一步。当然,您可能还想配置数据库。
如果您希望在开发 Laravel 应用程序时抢先一步,请考虑使用我们的入门套件之一。Laravel 的入门套件为您的新 Laravel 应用程序提供后端和前端身份验证脚手架。
初始配置
Laravel 框架的所有配置文件都存储在 config
目录中。每个选项都有文档说明,因此请随意浏览这些文件并熟悉可用的选项。
Laravel 开箱即用几乎不需要额外配置。您可以自由开始开发!但是,您可能希望查看 config/app.php
文件及其文档。它包含几个选项,如 timezone
和 locale
,您可能希望根据您的应用程序进行更改。
基于环境的配置
由于 Laravel 的许多配置选项值可能会根据您的应用程序是在本地计算机上运行还是在生产 Web 服务器上运行而有所不同,因此许多重要的配置值是使用位于应用程序根目录的 .env
文件定义的。
您的 .env
文件不应提交到应用程序的源代码管理中,因为每个使用您的应用程序的开发者/服务器可能需要不同的环境配置。此外,如果入侵者获得了对您的源代码管理库的访问权限,这将是一个安全风险,因为任何敏感凭据都会被暴露。
有关 .env
文件和基于环境的配置的更多信息,请查看完整的配置文档。
数据库和迁移
现在您已经创建了 Laravel 应用程序,您可能希望在数据库中存储一些数据。默认情况下,您的应用程序的 .env
配置文件指定 Laravel 将与 MySQL 数据库交互,并将在 127.0.0.1
访问数据库。
如果您在 macOS 上进行开发并需要在本地安装 MySQL、Postgres 或 Redis,请考虑使用 DBngin。
如果您不想在本地计算机上安装 MySQL 或 Postgres,您可以始终使用 SQLite 数据库。SQLite 是一个小型、快速、自包含的数据库引擎。要开始使用,请更新您的 .env
配置文件以使用 Laravel 的 sqlite
数据库驱动程序。您可以删除其他数据库配置选项:
DB_CONNECTION=sqlite
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
配置 SQLite 数据库后,您可以运行应用程序的数据库迁移,这将创建应用程序的数据库表:
php artisan migrate
如果您的应用程序没有 SQLite 数据库,Laravel 会询问您是否希望创建数据库。通常,SQLite 数据库文件将创建在 database/database.sqlite
。
目录配置
Laravel 应始终从 Web 服务器配置的“Web 目录”的根目录提供服务。您不应尝试从“Web 目录”的子目录提供 Laravel 应用程序。尝试这样做可能会暴露应用程序中存在的敏感文件。
使用 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 容器启动,您可以在 Web 浏览器中访问应用程序:http://localhost。
要继续了解有关 Laravel Sail 的更多信息,请查看其完整文档。
Windows 上的 Sail
在您的 Windows 计算机上创建新的 Laravel 应用程序之前,请确保安装 Docker Desktop。接下来,您应确保已安装并启用 Windows Subsystem for 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 容器启动,您可以在 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 容器启动,您可以在 Web 浏览器中访问应用程序:http://localhost。
要继续了解有关 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
堆栈。
您可以通过在 URL 中添加 devcontainer
参数来指示 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 前端实现,让您可以在几分钟内开始。