Skip to content

安装

认识 Laravel

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

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

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

lightbulb

新手上路?查看 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 生态系统的下一步。当然,你可能还想 配置数据库

lightbulb

如果你想在开发 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 经验。

lightbulb

已经是 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

lightbulb

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

在 Windows 上入门

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

lightbulb

安装并启用 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

lightbulb

要继续了解更多关于 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

lightbulb

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

选择你的 Sail 服务

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

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

如果你没有指定希望配置哪些服务,将会配置默认堆栈 mysqlredismeilisearchmailpitselenium

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

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

初始配置

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

Laravel 几乎不需要额外的配置即可开箱即用。你可以自由开始开发!但是,你可能希望查看 config/app.php 文件及其文档。它包含一些选项,如 timezonelocale,你可能希望根据你的应用进行更改。

基于环境的配置

由于许多 Laravel 的配置选项值可能会根据你的应用是在本地机器上运行还是在生产 web 服务器上运行而有所不同,因此许多重要的配置值是使用存在于应用根目录的 .env 文件定义的。

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

lightbulb

有关 .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 的方式,下面我们将探讨框架的两种主要用例。

lightbulb

新手上路?查看 Laravel Bootcamp,我们将带你通过构建第一个 Laravel 应用进行框架的实操体验。

Laravel 全栈框架

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

如果这是你计划使用 Laravel 的方式,你可能想查看我们关于 前端开发路由视图Eloquent ORM 的文档。此外,你可能会对社区包如 LivewireInertia 感兴趣。这些包允许你在享受单页面 JavaScript 应用提供的许多 UI 优势的同时,将 Laravel 作为全栈框架。

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

lightbulb

如果你想在构建应用时获得一个良好的开端,请查看我们的官方 应用启动套件

Laravel API 后端

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

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

lightbulb

需要一个良好的开端来搭建你的 Laravel 后端和 Next.js 前端?Laravel Breeze 提供了一个 API 堆栈 以及 Next.js 前端实现,让你可以在几分钟内开始。