Skip to content
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待

安装 ​

认识 Laravel ​

Laravel 是一个具有表现力和优雅语法的 web 应用框架。一个 web 框架为创建应用提供了结构和起点,使你能够专注于创造一些惊人的东西,而我们则处理细节。

Laravel 努力提供令人惊叹的开发者体验,同时提供强大的功能,如全面的依赖注入、表现力丰富的数据库抽象层、队列和定时任务、单元和集成测试等。

无论你是 PHP web 框架的新手还是有多年经验的开发者,Laravel 都是一个可以与你共同成长的框架。我们将帮助你迈出成为 web 开发者的第一步,或在你提升专业技能时给予支持。我们迫不及待想看到你构建的东西。

注意

新手上路?查看 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 上开发,可以通过 Homebrew 安装 PHP 和 Composer。此外,我们建议 安装 Node 和 NPM。

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

bash
composer create-project laravel/laravel:^9.0 example-app

或者,你可以通过全局安装 Laravel 安装程序来创建新的 Laravel 项目:

bash
composer global require laravel/installer

laravel new example-app

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

bash
cd example-app

php artisan serve

一旦启动了 Artisan 开发服务器,你的应用将在浏览器中可访问,地址为 http://localhost:8000。接下来,你准备好 开始进入 Laravel 生态系统的下一步。当然,你可能还想 配置数据库。

注意

如果你想在开发 Laravel 应用时获得一个良好的开端,可以考虑使用我们的 启动套件。Laravel 的启动套件为你的新 Laravel 应用提供后端和前端的身份验证脚手架。

Laravel 与 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 上入门 ​

如果你在 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 容器启动,你可以在浏览器中访问应用,地址为: http://localhost。

注意

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

在 Windows 上入门 ​

在 Windows 机器上创建新的 Laravel 应用之前,请确保安装了 Docker Desktop。接下来,你应该确保已安装并启用 Windows 子系统 Linux 2 (WSL2)。WSL 允许你在 Windows 10 上本地运行 Linux 二进制可执行文件。有关如何安装和启用 WSL2 的信息,请参阅微软的 开发者环境文档。

注意

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

接下来,你准备好创建你的第一个 Laravel 项目。启动 Windows Terminal,并为你的 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 容器启动,你可以在浏览器中访问应用,地址为: http://localhost。

注意

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

在 WSL2 中开发 ​

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

安装这些工具后,你可以通过在 Windows Terminal 中使用应用程序根目录下的 code . 命令打开任何 Laravel 项目。

在 Linux 上入门 ​

如果你在 Linux 上开发,并且已经安装了 Docker Compose,你可以使用一个简单的终端命令来创建一个新的 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 容器启动,你可以在浏览器中访问应用,地址为: http://localhost。

注意

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

选择你的 Sail 服务 ​

在通过 Sail 创建新的 Laravel 应用时,你可以使用 with 查询字符串变量选择在新应用的 docker-compose.yml 文件中配置哪些服务。可用的服务包括 mysql、pgsql、mariadb、redis、memcached、meilisearch、minio、selenium 和 mailpit:

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

如果你没有指定希望配置哪些服务,将会配置默认堆栈 mysql、redis、meilisearch、mailpit 和 selenium。

你可以通过将 devcontainer 参数添加到 URL 来指示 Sail 安装默认的 Devcontainer:

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

初始配置 ​

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 数据库驱动。你可以删除其他数据库配置选项:

ini
DB_CONNECTION=sqlite  
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

如果你的应用没有 SQLite 数据库,Laravel 会询问你是否希望创建该数据库。通常,SQLite 数据库文件将创建在 database/database.sqlite。

下一步 ​

现在你已经创建了 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 前端实现,让你可以在几分钟内开始。