Laravel Laravel

以下是翻译后的版本:

  • 序章

    • 发布说明
    • 升级指南
    • 贡献指南
  • 快速开始

    • 安装
    • 配置
    • 目录结构
    • 前端
    • 入门套件
    • 部署
  • 架构概念

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

    • 路由
    • 中间件
    • CSRF 保护
    • 控制器
    • 请求
    • 响应
    • 视图
    • Blade 模板
    • 资源打包
    • URL 生成
    • 会话
    • 验证
    • 错误处理
    • 日志记录
  • 深入探讨

    • Artisan 控制台
    • 广播
    • 缓存
    • 集合
    • 并发
    • 上下文
    • 契约
    • 事件
    • 文件存储
    • 辅助函数
    • HTTP 客户端
    • 本地化
    • 邮件
    • 通知
    • 包开发
    • 进程
    • 队列
    • 速率限制
    • 字符串
    • 任务调度
  • 安全

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

    • 快速开始
    • 查询构建器
    • 分页
    • 迁移
    • 数据填充
    • Redis
    • MongoDB
  • Eloquent ORM

    • 快速开始
    • 关系
    • 集合
    • 变换器/类型转换
    • API 资源
    • 序列化
    • 工厂
  • 测试

    • 快速开始
    • HTTP 测试
    • 控制台测试
    • 浏览器测试
    • 数据库测试
    • Mock 测试
  • 软件包

    • Breeze
    • Cashier(Stripe)
    • Cashier(Paddle)
    • Dusk
    • Envoy
    • Fortify
    • Folio
    • Homestead
    • Horizon
    • Jetstream
    • Mix
    • Octane
    • Passport
    • Pennant
    • Pint
    • Precognition
    • Prompts
    • Pulse
    • Reverb
    • Sail
    • Sanctum
    • Scout
    • Socialite
    • Telescope
    • Valet
  • API 文档
Icon

提示 您正在浏览旧版本的 Laravel 的文档. 请考虑将你的项目升级到 Laravel 11.x.

发行说明
10.x
10.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 10 中文文档 /

未匹配的标注

发行说明

  • 版本控制方案

  • 支持政策

  • Laravel 10

版本控制方案

Laravel 及其其他第一方软件包遵循 语义化版本控制。主要框架版本释出是每年 (~Q1),而较小和补丁版本则可能每周释出一次。较小和补丁版本决不能包含破坏性更改。

当从你的应用程序或软件包引用 Laravel 框架或其组件时,应始终使用类似 ^10.0 的版本约束,因为 Laravel 的主要版本包含破坏性更改。但是,我们始终努力确保你可以在一天或更短时间内更新到新的主要版本。

命名参数

命名参数 未被 Laravel 的向后兼容性指导方针所覆盖。我们可能会在必要时重命名函数参数,以改进 Laravel 代码库。因此,当调用 Laravel 方法时使用命名参数应该谨慎进行,并且要知道参数名称可能会在未来更改。

支持政策

对于所有 Laravel 版本,修复错误将提供 18 个月支持,而安全修复将提供 2 年支持。对于所有其他库,包括 Lumen,在更新最新的主要发布版本之前只提供 bug 修复。此外,请查看 Laravel 支持的数据库版本。

版本 PHP (*) 发布日期 Bug 修复截止日期 安全修复截止日期
8 7.3 - 8.1 2020 年 9 月 8 日 2022 年 7 月 26 日 2023 年 1 月 24 日
9 8.0 - 8.2 2022 年 2 月 8 日 2023 年 8 月 8 日 2024 年 2 月 6 日
10 8.1 - 8.2 2023 年 2 月 14 日 2024 年 8 月 6 日 2025 年 2 月 4 日
11 8.2 2024 年 Q1 2025 年 8 月 5 日 2026 年 2 月 3 日

(*) 支持的 PHP 版本

Laravel 10

正如你可能已经知道的那样,Laravel 在发布 Laravel 8 后转向每年发布一次。之前,每 6 个月发布一个主要版本。这种转变旨在减轻社区的维护负担,并挑战我们的开发团队在不引入破坏性变化的情况下发布令人惊叹、功能强大的新功能。因此,我们为 Laravel 9 提供了许多强大的功能,而不会破坏向后兼容性。

因此,这种致力于在当前发布期间发布出色新功能的承诺可能会导致未来的“主要”版本主要用于诸如升级上游依赖项之类的“维护”任务,这些可以在这些发布说明中看到。

Laravel 10 继续在 Laravel 9.x 中所做的改进,通过向所有应用程序骨架方法和所有存根文件引入参数和返回类型,以及向外部进程启动和交互引入了一种新的开发人员友好的抽象层。此外,引入了 Laravel Pennant,为管理你的应用程序的“特性标志”提供了一种奇妙的方法。

PHP 8.1

Laravel 10.x 要求至少使用 PHP 版本 8.1。

Types

应用程序骨架和存根的类型提示由 Nuno Maduro 提供。

在最初发布时,Laravel 利用了 PHP 当时提供的所有类型提示特性。然而,在随后的几年中,PHP 添加了许多新的功能,包括额外的基本类型提示、返回类型和联合类型。

Laravel 10.x 彻底更新了应用程序骨架和框架使用的所有存根,以向所有方法签名引入参数和返回类型。此外,已删除冗余的 “doc block” 类型提示信息。

这个更改完全向后兼容现有应用程序。因此,没有这些类型提示的现有应用程序将继续正常运行。

Laravel Pennant

Laravel Pennant 由 Tim MacDonald 贡献。

发布了一个新的第一方软件包,Laravel Pennant。Laravel Pennant 提供了一种轻量级、简洁的方法来管理应用程序的特性标志。Pennant 出厂时包括一个内存中的 array 驱动程序和一个 database 驱动程序,用于持久化特性存储。

可以通过 Feature::define 方法轻松地定义特性:

use Laravel\Pennant\Feature;

use Illuminate\Support\Lottery;

Feature::define('new-onboarding-flow', function () {

return Lottery::odds(1, 10);

});

定义特性后,你可以轻松地确定当前用户是否有访问给定特性的权限:

if (Feature::active('new-onboarding-flow')) {

// ...

}

当然,为了方便起见,Blade 指令也可用:

@feature('new-onboarding-flow')

<div>

<!-- ... -->

</div>

@endfeature

Pennant 提供了各种更高级的特性和 API。有关更多信息,请参阅 详细的 Pennant 文档。

进程交互

进程抽象层由 Nuno Maduro 和 Taylor Otwell 贡献。

Laravel 10.x 引入了一个美丽的抽象层,用于通过新的 Process 门面启动和与外部进程交互:

use Illuminate\Support\Facades\Process;

$result  =  Process::run('ls -la');

return  $result->output();

甚至可以在池中启动进程,允许方便地执行和管理并发进程:

use Illuminate\Process\Pool;

use Illuminate\Support\Facades\Process;

[$first, $second, $third] =  Process::concurrently(function (Pool  $pool) {

$pool->command('cat first.txt');

$pool->command('cat second.txt');

$pool->command('cat third.txt');

});

return  $first->output();

这一变化完全向后兼容现有的应用程序。因此,没有这些类型提示的现有应用程序将继续正常运行。

此外,进程可能会被虚构,以方便测试:

Process::fake();

// ...

Process::assertRan('ls -la');

有关与进程交互的更多信息,请参阅 详细的进程管理文档。

测试分析

测试分析由 Nuno Maduro 贡献。

Artisan 的 test 命令现在具有一个新的 --profile 选项,使你可以轻松识别应用程序中最慢的测试:

php artisan  test  --profile

为了方便起见,最慢的测试将直接显示在 CLI 输出中:

217328439-d8d983ec-d0fc-4cde-93d9-ae5bccf5df14.png

Pest 脚手架

现在,新的 Laravel 项目可以默认使用 Pest 测试脚手架。要启用此功能,请在通过 Laravel 安装程序创建新应用程序时提供 --pest 标志:

laravel new  example-application  --pest

生成器 CLI 提示

生成器 CLI 提示由 Jess Archer 贡献。

为了改进框架的开发体验,Laravel 内置的所有 make 命令现在不需要任何输入。如果调用命令时没有输入,你将被提示提供所需的参数:

php artisan  make:controller

Horizon / Telescope 界面更新

Horizon 和 Telescope 已经通过改进版式、间距和设计更新为新的现代外观:

horizon-example.png

本文章首发在 网站上。



原文地址:/cndocs/10.x/re...

译文地址:/cndocs/10.x/re...

上一篇 下一篇

成为Laravel合作伙伴

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

我们的伙伴
Laravel
亮点
  • Our Team
  • 发布说明
  • 入门
  • 路由
  • Blade 模板
  • 身份验证
  • 用户授权
  • Artisan 控制台
  • 数据库
  • Eloquent ORM
  • 测试
资源
  • Laravel Bootcamp
  • Laracasts
  • Laravel News
  • Laracon
  • Laracon EU
  • Laracon India
  • Jobs
  • Forums
  • Trademark
  • 版本发布时间
  • 包开发
  • 命令行应用
  • TALL stack全栈开发
  • Blade UI Kit
  • 前端资源构建
伙伴
  • WebReinvent
  • Vehikl
  • Tighten
  • 64 Robots
  • Active Logic
  • Byte 5
  • Curotec
  • Cyber-Duck
  • DevSquad
  • Jump24
  • Kirschbaum
生态系统
  • Cashier
  • Dusk
  • Echo
  • Envoyer
  • Forge
  • Horizon
  • Nova
  • Octane
  • Sail
  • Sanctum
  • Scout
  • Spark
  • Telescope
  • Valet
  • Vapor

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

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

  • Twitter
  • GitHub
  • Discord
Laravel 全栈开发网 推荐使用阿里云 按Ctrl+D试试