Laravel Laravel
  • 前言

    • 发行说明
    • 升级向导
    • 贡献导引
  • 入门指南

    • 安装
    • 配置
    • 文件夹结构
    • 前端
    • 入门套件
    • 部署
  • 架构思想

    • 请求生命周期
    • 服务容器
    • 服务提供者
    • Facades:门面
  • 基础功能

    • 路由
    • 中间件
    • CSRF 保护
    • 控制器
    • 请求
    • 响应
    • 视图
    • Blade 模板
    • Vite编译资产
    • URL 生成
    • Session
    • 表单验证
    • 错误处理
    • 日志
  • 深入话题

    • Artisan 命令行
    • 广播
    • 缓存
    • 集合
    • Contracts:契约
    • 事件
    • 文件存储
    • 辅助函数
    • HTTP 客户端
    • 本地化
    • Mail
    • 消息通知
    • 扩展包开发
    • 队列
    • 速率限制
    • 任务调度
  • 安全

    • 身份认证
    • 授权
    • 邮件验证
    • 加密
    • 哈希
    • 重置密码
  • 数据库

    • 快速入门
    • 查询构造器
    • 分页
    • 数据库迁移
    • 数据填充
    • Redis
  • Eloquent ORM

    • 快速入门
    • 关联关系
    • Eloquent 集合
    • 修改器 & 类型转换
    • API 资源
    • 序列化
  • 测试

    • 快速入门
    • HTTP 测试
    • 命令行测试
    • 浏览器测试
    • 数据库测试
    • 测试模拟器Mocking
  • 官方扩展包

    • Breeze
    • Cashier (Stripe)
    • Cashier (Paddle)
    • Dusk 浏览器测试
    • Envoy 部署工具
    • Fortify 授权生成器
    • Homestead 虚拟机
    • Horizon 队列管理工具
    • Jetstream 全栈开发
    • Mix
    • Octane 加速引擎
    • Passport OAuth 认证
    • Sail 开发环境
    • Sanctum 轻量级 API 认证
    • Scout 全文搜索
    • Socialite 社会化登录
    • Telescope 调试工具
    • Valet 集成环境
  • API 文档
242 8

安装
9.x
9.x 8.5 8.x 7.x 6.x 5.8 5.7 5.6 5.5 5.4 5.3 5.2 5.1

Laravel 9 中文文档 /

未匹配的标注

安装

  • 接触 Laravel
    • 为什么选择 Laravel?
  • 您的第一个 Laravel 项目
  • Laravel 与Docker
    • macOS 入门
    • Windows 入门
    • Linux 入门
    • 选择 Sail 服务
  • 初始化
    • 基于环境的配置
    • 目录配置
    • 数据库和迁移
  • 下一步
    • 将 Laravel 用作全栈框架
    • 将 Laravel 用作 API 后端

接触 Laravel

Laravel 是一个 Web应用框架, 有着表现力强、语法优雅的特点。Web 框架为创建应用提供了一个结构和起点,您只需要专注于创造,我们来为您处理细节。

Laravel 致力于提供出色的开发体验,同时提供强大的特性,例如完全的依赖注入,富有表现力的数据库抽象层,队列和计划任务,单元和集成测试等等。

无论你是刚刚接触 PHP Web 框架的新人,亦或是有着多年经验的老手, Laravel 都是一个可以与你一同成长的框架。我们将帮助你迈出成为 Web 开发者的第一步,或是将你的经验提高到下一个等级。我们迫不及待的想看看你的作品。

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

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

composer create-project laravel/laravel example-app

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

cd example-app

    php artisan serve

一旦您启动了 Artisan 开发服务器,您的应用程序将可在 web 浏览器中以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 应用程序,您可以在终端中运行以下命令:

curl -s "https://laravel.build/example-app" | bash

当然,您可以将此 URL 中的「example-app」更改为您喜欢的任何内容- 只需确保应用程序名称仅包含字母数字字符、破折号和下划线。Laravel 应用程序的目录将在您执行命令的目录中创建。

创建项目后,您可以导航到应用程序目录并启动 Laravel Sail。Laravel Sail 提供了一个简单的命令行界面,用于与 Laravel 的默认 Docker 配置进行交互:

cd example-app

./vendor/bin/sail up

第一次运行 Sail up 命令时, Sail 的应用程序容器将在您的本地机器上构建。这可能需要几分钟。 不用担心,随后尝试启动 Sail 会快得多。

启动应用程序的 Docker 容器后,您可以在 Web 浏览器中访问应用程序: localhost.

技巧:要继续了解有关 Laravel Sail 的更多信息,请查看其 完整文档.

Windows 入门

在新建 Laravel 应用前,请确保你的 Windows 电脑已经安装了 Docker Desktop。之后,请确保已经安装并启用了适用于 Linux 的 Windows 子系统 2 (WSL2)。 WSL 允许你在 Windows 10 上运行 Linux 二进制文件。关于如何安装并启用 WSL2,请参阅微软 开发者环境文档.

技巧:安装并启用 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 应用将被创建在执行命令的文件夹中。

创建项目后,你可以切换到应用目录并启动 Laravel Sail。Laravel Sail 提供了一个简单的命令行接口,用于和 Laravel 默认 Docker 配置进行交互:

cd example-app

./vendor/bin/sail up

在您首次运行 Sail 的 up 命令的时候,Sail 的应用容器将会在您的本地机器上进行编译。这个过程将会花费几分钟时间。不要担心,以后就会很快了。

一旦应用的 Docker 容器启动了,您便可在 Web 浏览器中通过 localhost 访问您的应用了。

技巧:要继续学习更多关于 Laravel Sail 的知识,请参阅 详细文档。

使用 WSL2 进行开发

当然,您需要能够修改在 WSL2 安装中创建的 Laravel 应用程序文件。我们推荐您使用微软的 Visual Studio Code 编辑器并搭配其 Remote Development 扩展,它们可以帮助您解决这个问题。

一旦这些工具成功安装,您可以使用 Windows Terminal 在应用根目录执行 code . 命令来打开任何 Laravel 项目。

Linux 入门

如果在 Linux 开发,并且已经安装了 Docker Compose,您可以使用简单的终端命令来创建一个新的 Laravel 项目。例如,要在「example-app」目录中创建新的 Laravel 应用,您可以在终端中运行如下命令:

curl -s https://laravel.build/example-app | bash

当然,您可以将 URL 中的「example-app」替换为任何您喜欢的内容- 只需确保应用程序名称仅包含字母数字字符、破折号和下划线。Laravel 应用程序的目录将在执行命令的目录中创建。

在项目创建完成后,您可以导航至应用目录和启动 Laravel Sail。Laravel Sail 提供了一个简单的命令行接口,用于与 Laravel 的默认 Docker 配置进行交互:

cd example-app

./vendor/bin/sail up

在您首次运行 Sail 的 up 命令的时候,Sail 的应用容器将会在您的本地机器上进行编译。这个过程将会花费一段时间。不要担心,以后就会很快了。

一旦应用的 Docker 容器启动了,您便可在 Web 浏览器中通过 localhost 访问您的应用了。

技巧:要继续学习更多关于 Laravel Sail 的知识,请参阅 详细文档。

选择你的 Sail 服务

当通过 Sail 创建一个新的 Laravel 应用程序时, 你可以通过 with 查询变量来选择哪些服务需要配置到你的新应用程序的 docker-compose.yml 文件。 可选择的服务包括 mysql,pgsql,mariadb,redis,memcached,meilisearch,minio,selenium 和 mailhog:

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

如果你没有制定你想配置的服务, 默认将配置 mysql,redis,meilisearch,mailhog 和 selenium。

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

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 应该始终从为您的 Web 服务器配置的“Web 目录”的根目录中提供服务。你不应该尝试从“web 目录”的子目录中提供 Laravel 应用程序。尝试这样做可能会暴露应用程序中存在的敏感文件。

数据库和迁移

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

如果你不想在本地机器上安装 MySQL 或 Postgres,你总是可以使用SQLite数据库。SQLite 是一个小型、快速、独立的数据库引擎。首先,通过创建一个空的 SQLite 文件来创建一个 SQLite 数据库。通常,此文件将存在于Laravel 应用程序的database目录中:

touch database/database.sqlite

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

DB_CONNECTION=sqlite # [tl! add]
        DB_CONNECTION=mysql # [tl! remove]
        DB_HOST=127.0.0.1 # [tl! remove]
        DB_PORT=3306 # [tl! remove]
        DB_DATABASE=laravel # [tl! remove]
        DB_USERNAME=root # [tl! remove]
        DB_PASSWORD= # [tl! remove]

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

php artisan migrate

下一步

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

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

你想如何使用 Laravel 也将决定你旅程的下一步。有多种使用 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 前端实现 ,因此您可以在几分钟内开始使用。

本文章首发在 网站上。



原文地址:cndocs/9.x/ins...

译文地址:cndocs/9.x/ins...

上一篇 下一篇

成为Laravel合作伙伴

Laravel Partners是提供一流Laravel开发和咨询服务的精英商店。我们每个合作伙伴都可以帮助您制定一个精美,结构完善的项目.

我们的伙伴
Laravel
亮点
  • Our Team
  • Release Notes
  • Getting Started
  • Routing
  • Blade Templates
  • Authentication
  • Authorization
  • Artisan Console
  • Database
  • Eloquent ORM
  • Testing
资源
  • Laracasts
  • Laravel News
  • Laracon
  • Laracon EU
  • Jobs
  • Certification
  • Forums
  • 版本发布时间
  • 包开发
  • 命令行应用
  • TALL stack全栈开发
  • Blade UI Kit
  • 前端资源构建
伙伴
  • Vehikl
  • Tighten Co.
  • Kirschbaum
  • Byte 5
  • 64 Robots
  • Cubet
  • DevSquad
  • Ideil
  • Cyber-Duck
  • ABOUT YOU
  • A2 Design
  • Romega Software
  • Jump24
  • Become A Partner
生态系统
  • Cashier
  • Dusk
  • Echo
  • Envoyer
  • Forge
  • Homestead
  • Horizon
  • Lumen
  • Mix
  • Nova
  • Passport
  • Scout
  • Socialite
  • Spark
  • Telescope
  • Valet
  • Vapor

Laravel是一个具有表达力,优雅语法的Web应用程序框架。我们认为,发展必须是一种令人愉悦的创造力,才能真正实现。Laravel试图通过减轻大多数Web项目中使用的常见任务来减轻开发的痛苦.

Laravel是Taylor Otwell的商标.
Copyright © 2011-2022 Laravel中文网 LLC.

  • Twitter
  • GitHub
  • Discord
Laravel PHP中文网 推荐使用阿里云