安装


认识 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 上开发,可以通过 Homebrew 安装 PHP 和 Composer。此外,我们建议安装 Node 和 NPM。

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

composer create-project laravel/laravel example-app

或者,你可以通过在全局安装 Laravel 安装器来使用 Composer 创建新的 Laravel 项目:

composer global require laravel/installer
 
laravel new example-app

在项目创建完毕后,使用 Laravel 的 Artisan 命令行界面(CLI)中的 serve 命令启动 Laravel 的本地开发服务器:

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 桌面版

Laravel Sail 是一个轻量级的命令行界面,用于与 Laravel 的默认 Docker 配置进行交互。Sail 为使用 PHP、MySQL 和 Redis 构建 Laravel 应用程序提供了一个很好的起点,而无需先前的 Docker 经验。

已经是 Docker 专家?别担心!使用包含在 Laravel 中的 docker-compose.yml 文件可以自定义 Sail 的所有内容。

在 macOS 上开始

如果您在 Mac 上开发,且已经安装了 Docker 桌面版,您可以使用一个简单的终端命令来创建一个新的 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 上开始

在您的 Windows 机器上创建新的 Laravel 应用程序之前,请确保安装了 Docker 桌面版。接下来,您应该确保已安装并启用了 Windows 子系统Linux 2(WSL2)。WSL 允许您在 Windows 10/11 上本地运行 Linux 二进制可执行文件。有关如何安装和启用 WSL2 的信息可以在 Microsoft 的开发环境文档中找到。

安装并启用 WSL2 后,您应该确保 Docker 桌面版已配置为使用 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 容器已启动,您可以在Web浏览器中访问应用程序:http://localhost。

如需了解更多有关 Laravel Sail 的信息,请查看其完整文档

在 WSL2 内进行开发

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

安装这些工具后,您可以使用 Windows 终端从应用程序的根目录执行 code . 命令来打开任何 Laravel 项目。

在 Linux 上开始

如果您在 Linux 上进行开发并且已经安装了 Docker Compose,则可以使用简单的终端命令创建新的 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的信息,请查看其完整文档

选择 Sail 服务

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

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

如果您没有指定要配置哪些服务,则会配置默认堆栈 mysqlredismeilisearchmailpitselenium

您可以通过在URL中添加 devcontainer 参数来指示 Sail 安装默认的 Devcontainer

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

初始配置

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

Laravel 开箱即用几乎不需要额外的配置。您可以自由地开始开发!但是,您可能希望查看 config/app.php 文件及其文档。它包含了一些选项,例如时区和语言环境,您可能希望根据应用程序进行更改。

基于环境的配置

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

您的 .env 文件不应提交到应用程序的源代码控制中,因为使用您的应用程序的每个开发人员/服务器可能需要不同的环境配置。此外,在入侵者获得对您的源代码控制存储库的访问权限的情况下,这将是一个安全风险,因为任何敏感凭据都将被公开。

有关 .env 文件和基于环境的配置的更多信息,请查看完整的配置文档

数据库和迁移

现在您已经创建了 Laravel 应用程序,您可能希望在数据库中存储一些数据。默认情况下,应用程序的 .env 配置文件指定 Laravel 将与MySQL 数据库进行交互,并且将在 127.0.0.1 访问数据库。如果您在 macOS 上进行开发并需要在本地安装 MySQL、Postgres 或 Redis,则可能会发现使用 DBngin 很方便。

如果您不想在本地安装 MySQL 或 Postgres,则可以始终使用 SQLite 数据库。SQLite 是一个小型、快速、自包含的数据库引擎。要开始使用 SQLite,请通过创建一个空的 SQLite 文件来创建 SQLite 数据库。通常,此文件将存在于 Laravel 应用程序的数据库目录中:

touch database/database.sqlite

接下来,更新您的 .env 配置文件以使用 Laravel 的 sqlite 数据库驱动程序。您可以删除其他数据库配置选项:

DB_CONNECTION=sqlite 

配置 SQLite 数据库后,您可以运行应用程序的数据库迁移,这将创建应用程序的数据库表:

php artisan migrate

下一步

现在您已经创建了 Laravel 项目,您可能想知道接下来学习什么。首先,我们强烈建议通过阅读以下文档来熟悉 Laravel 的工作方式:

  • 请求生命周期
  • 配置
  • 目录结构
  • 前端
  • 服务容器
  • 门面

您想要如何使用 Laravel 也将决定您旅程的下一步。有多种使用 Laravel 的方式,下面我们将探讨框架的两个主要用例。

如果您是 Laravel 的新手,请查看 Laravel Bootcamp,了解该框架的实际操作,并通过指导您构建第一个 Laravel 应用程序来进行漫游。

Laravel全栈框架

Laravel 可以作为全栈框架使用。所谓“全栈”框架,是指您将使用 Laravel 将请求路由到您的应用程序,并通过 Blade 模板或类似 Inertia 的单页应用混合技术呈现您的前端。这是使用 Laravel 框架的最常见方式,也是我们认为使用 Laravel 最高效的方式。

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

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

如果您想快速开始构建应用程序,请查看我们的官方应用程序启动包

Laravel API 后端

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

如果这是您计划使用 Laravel 的方式,您可能需要查看我们的路由Laravel SanctumEloquent ORM 文档。

需要快速启动搭建 Laravel 后端和 Next.js 前端?Laravel Breeze 提供了一个 API 堆栈以及 Next.js 前端实现,因此您可以在几分钟内开始。


点赞 取消点赞 收藏 取消收藏

<< 上一篇: 贡献指南

>> 下一篇: 配置