>  기사  >  PHP 프레임워크  >  Laravel 8.73이 출시되었습니다. 업데이트는 무엇입니까?

Laravel 8.73이 출시되었습니다. 업데이트는 무엇입니까?

藏色散人
藏色散人앞으로
2021-11-30 15:24:002089검색

Laravel 8.73이 출시되었습니다. 업데이트는 무엇입니까?

Laravel 팀은 문자열 복수형에서 Countable 객체를 지원하는 8.73을 출시했습니다. 이를 통해 클로저를 사용하여 캐시 TTL,lazyByIdDesc() 쿼리 빌더 메서드 및 v8.x 브랜치의 최신 변경 사항을 확인할 수 있습니다.

이 문서에는 8.73.1의 복구를 포함하여 지난 며칠 동안 업데이트된 일부 버전이 포함되어 있으므로 반드시 최신 8.x 버전으로 업데이트하세요. 8.73.1 中的恢复,因此请务必更新到最新的 8.x 版本:

将 .phar 添加到被阻止的 PHP 扩展名(8.73)

Stephen Rees-Carter 在文件上传过程中为阻止 PHP 扩展名添加了.phar 扩展名:

默认情况下,Debian 支持执行 .phar 文件以及 .php 和 .phtml 文件,并且应该包含在阻止列表中。

见:salsa.debian.org/php-team/php/-/bl...

这也应该被移植到所有当前支持的 Laravel 版本中。

允许在缓存 remember() 方法中将闭包作为 TTL 传递 (8.73)

Gerard Nesta 贡献了在 Cache::remember() 方法中将 Closure 作为 TTL 传递的方法:

 Cache::remember(
    'count_events_hosted',
    // 现在你可以通过一个闭包来计算 TTL
    function () use ($user) {
        // 当最近的事件结束时过期
        $closestEventEndsAt = $user->hostedEvents()
            ->select('ends_at')
            ->where('starts_at', '>', Date::now())
            ->orderBy('ends_at')
            ->limit(1)
            ->value('ends_at');

        return $closestEventEndsAt ?
            Date::parse($closestEventEndsAt) :
            60;
    },
    function () use ($user) {
        return $user->hostedEvents()->ended()->count();
    });

按降序实现 lazyByIdDesc (8.73)

Moshe Brodsky 贡献了一个 lazyByIdDesc() 方法,该方法通过按降序比较 ID 来对查询结果进行分块,从而延迟查询:

$query->lazyByIdDesc();

在处理大量数据时,您希望首先处理“较新”对象,这会很有用。

PasswordReset 方法用于重置 URL (8.72)

Oliver Kaufmann 的贡献将重置 URL 的生成移动到一个单独的方法中,用于PasswordReset的通知。与VerifyEmail类似,允许用户重写默认的 URL 生成逻辑,而无需覆盖toMail()方法。

为多元化器添加可计数支持 (8.72)

Michael Dyrynda 增加了Str::plural() 方法用于可计数值. 你可以传入任何通过PHP的is_countable()方法检测的内容,此方法实现了Countable接口,你可以将检测项作为第二个参数:

// Arrays
$this->assertSame('users', Str::plural('user', []));
$this->assertSame('user', Str::plural('user', ['one']));
$this->assertSame('users', Str::plural('user', ['one', 'two']));

// Collections
$this->assertSame('users', Str::plural('user', collect()));
$this->assertSame('user', Str::plural('user', collect(['one'])));
$this->assertSame('users', Str::plural('user', collect(['one', 'two'])));

发行说明

您可以在下方查看新功能和更新的完整列表以及 GitHub 上的 8.71.0 和 8.73.1 之间的差异。以下发行说明直接来自 changelog:

v8.73.1

撤销

  • 撤销 使用父级解决SortedMiddleware中的中间件优先级 (#39706)

v8.73.0

添加

  • 在验证器中添加 .phar 以阻止 PHP 扩展(#39666)
  • 允许在 Cache remember() 方法中将闭包作为 ttl 传递 (#39678)
  • 向dependentRules 属性添加了禁止验证规则 (#39677)
  • 按降序实现 lazyById (#39646)

修复

  • 固定 Illuminate/Auth/Notifications/ResetPassword::toMail() (969f101)
  • 修正了 assertSoftDeleted & assertNotSoftDeleted (#39673)

v8.72.0

补充

  • 在 PasswortReset 中添加额外的方法来重置 URL 以匹配 VerifyEmail 的结构 (#39652)
  • 添加对可数表的支持 Illuminate/Support/Pluralizer::plural() (#39641)
  • 允许用户为 migrate 数据迁移指定选项 (#39637)

修复

  • 不为 null 时,仅将 $值强制转换 Illuminate/Database/Query/Builder::limit() (#39644)

改变

  • 使用父节点解析中间件优先级 SortedMiddleware

    차단된 PHP 확장 프로그램(8.73)에 .phar 추가

  • 파일 업로드 중 Stephen Rees-Carter .phar 추가 확장:
기본적으로 데비안은 .phar 파일은 물론 .php 및 .phtml 파일의 실행을 지원하므로 차단 목록에 포함되어야 합니다.

참조: salsa.debian.org/php-team/php/-/bl...

이것은 또한 현재 지원되는 모든 Laravel 버전으로 포팅되어야 합니다.

캐시 Remember() 메서드에서 TTL로 클로저 전달 허용(8.73)

Gerard Nesta가 Cache::remember() 메서드에서 TTL로 >클로저:

rrreee

lazyByIdDesc 구현 내림차순(8.73)

Moshe Brodsky는 ID를 내림차순으로 비교하여 쿼리 결과를 청크하여 쿼리를 지연시키는 lazyByIdDesc() 메서드를 제공했습니다. 🎜rrreee🎜이는 작업할 때 유용할 수 있습니다. "새로운" 개체를 먼저 처리하려는 대량의 데이터. 🎜

URL 재설정을 위한 PasswordReset 메서드(8.72)

🎜Oliver Kaufmann의 기여로 재설정 URL 생성이 In으로 이동되었습니다. PasswordReset 알림에 사용되는 별도의 방법입니다. VerifyEmail과 마찬가지로 사용자가 toMail() 메서드를 재정의하지 않고 기본 URL 생성 논리를 재정의할 수 있습니다. 🎜

복수형에 대한 셀 수 있는 지원 추가(8.72)

🎜Michael Dyrynda가 Str::plural( )를 추가했습니다. > 메소드는 셀 수 있는 값에 사용됩니다. Countable 인터페이스를 구현하는 PHP의 is_countable() 메소드에 의해 감지된 모든 항목을 전달할 수 있습니다. : 🎜rrreee

릴리스 노트

🎜 아래에서 GitHub의 새로운 기능 및 업데이트 전체 목록과 8.71.0과 8.73.1의 차이점을 볼 수 있습니다. 다음 릴리스 노트는 변경 로그에서 직접 가져온 것입니다: 🎜

v8.73.1

실행 취소

  • 실행 취소는 상위를 사용하여 SortedMiddleware에서 미들웨어 우선 순위를 결정합니다. (#39706)🎜🎜

    v8.73.0

    추가

    • PHP 확장을 방지하기 위해 유효성 검사기에 .phar을 추가했습니다(#39666) 🎜
    • Cache Remember() 메서드에서 클로저를 ttl로 전달하도록 허용합니다(#39678) 🎜
    • dependentRules 속성 유효성 검사 규칙에 금지를 추가했습니다(#39677 )🎜
    • lazyById를 내림차순으로 구현합니다. (#39646)🎜🎜

      수정됨

        수정됨 Illuminate/Auth/Notifications/ResetPassword::toMail() (969f101)🎜
      • assertSoftDeleted 및ertNotSoftDeleted 수정(#39673)🎜🎜

        v8.72.0

        보충

        • PasswortReset에 추가 메소드 추가 verifyEmail의 구조와 일치하도록 URL을 재설정하려면(#39652) 🎜
        • 가산 가능한 테이블에 대한 지원 추가 Illuminate/Support/Pluralizer::plural() (# 39641)🎜
        • 사용자 허용 데이터 마이그레이션 마이그레이션을 위한 옵션 지정(#39637)🎜🎜

          Fixed

            null이 아닌 경우에만 $ 값을 캐스팅합니다Illuminate/Database/Query/Builder::limit() (#39644)🎜🎜

            변경

            • 미들웨어 우선순위를 해결하기 위해 상위 노드 사용 SortedMiddleware (#39647)🎜🎜🎜🎜원본 주소: https:/ /laravel-news.com/laravel-8 -73-0🎜🎜번역 주소: https://learnku.com/laravel/t/6🎜🎜관련 추천: 🎜라라벨 최신 5개 영상 튜토리얼 3183🎜 🎜🎜

위 내용은 Laravel 8.73이 출시되었습니다. 업데이트는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제