>PHP 프레임워크 >Laravel >라라벨 9.47이 출시되었습니다! 업데이트 한 눈에~

라라벨 9.47이 출시되었습니다! 업데이트 한 눈에~

藏色散人
藏色散人앞으로
2023-01-28 16:40:341717검색

이 글은 Laravel 9.47에 대한 최신 소식을 전합니다. Laravel 팀이 최근 출시한 9.47 버전의 새로운 기능을 주로 소개합니다. 관심 있는 분들이 꼭 읽어보시길 바랍니다.

라라벨 9.47이 출시되었습니다! 업데이트 한 눈에~

Laravel 팀은 최근 새로운 Eloquent 컬렉션 가시성 방법, "파괴 가능한" 싱글톤 라우팅, 배치 페이크를 통한 지연 로딩 컬렉션 지원 등을 포함하는 9.47을 출시했습니다:

새로운 Eloquent 컬렉션 가시성 방법

Jess Archer는 Eloquent 컬렉션에 setVisiblesetHidden 메서드를 제공했습니다. setVisible 메서드는 반환하려는 데이터를 명시적으로 지정하려는 경우 유용하며 모델에 새 속성을 추가할 때 누출되지 않습니다. setVisiblesetHidden 方法。 当你想明确要返回的数据时,setVisible 方法很有用,并且它不会在向模型添加新属性时泄漏:

$users->setVisible(['id', 'name'])->toArray();
/*
[
    [
        'id' => 1,
        'name' => 'Test User',
    ]
]
*/

如果你只有几个要显式隐藏的字段,但通常希望默认值可见,则相反的 setHidden 很有用。

在 BatchFake 中支持懒加载集合

Evan Burrell 在将 withFakeBatch() 与作业一起使用时贡献了对 LazyCollection 的支持。 由于此功能,现在可以使用以下功能:

use Batchable;

Model::cursor()
    ->map(fn (Model $model) => new ModelJob($model))
    ->chunk(1000)
    ->each(function (LazyCollection $jobs) {
        $this->batch->add($jobs);
    });

// 相关测试
[$job] = (new ModelJobBatch())->withFakeBatch();

$job->handle();

 了解更多关于模拟批处理的信息,请点击测试模拟器.

"可销毁的"单例路由

Choraimy Kroonstuiver 贡献了一个简单的方法,将单例路由标记为"可销毁"。这种类型的路由可以被删除,但默认不会被创建。

// 以前
Route::singleton(...)->creatable()->except('create', 'store');

// 之后
Route::singleton(...)->destroyable();

发布说明

你可以在GitHub上看到以下完整的新功能和更新列表以及 9.46.0和9.47.0 之间的差异。下面的发行说明直接来自 changelog

v9.47.0

新增

  • BatchFake::add() 中添加了支持懒加载集合 (#45507)
  • 添加小数到数字规则列表(#45533)
  • 添加 Illuminate/Routing/PendingSingletonResourceRegistration::destroyable() 可销毁路由 (#45549)
  • 将 setVisible 和 setHidden 添加到 Eloquent 集合 (#45558)

修复

  • 修复绑定方法上下文绑定 (#45500)
  • 修复方法 explodeExplicitRule 与正则表达式规则 (#45555)
  • 修复 Illuminate/Database/Query/Builder::whereIntegerInRaw() 方法 (#45584)
  • 修复模板标签(#45490)

修改

withFakeBatch( ) 작업과 함께 사용될 때 LazyCollection 지원에 기여합니다. 이 기능 덕분에 이제 다음 기능을 사용할 수 있습니다.
rrreee 일괄 처리 시뮬레이션에 대해 자세히 알아보려면 시뮬레이터 테스트를 클릭하세요.

"파괴 가능" 싱글턴 라우팅

Choraimy Kroonstuiver

가 싱글턴 경로를 표시하는 간단한 방법을 제공했습니다. "파괴 가능"으로. 이 유형의 경로는 삭제할 수 있지만 기본적으로 생성되지는 않습니다. 🎜rrreee

릴리스 노트

🎜아래 GitHub와 9.46.0과 9.47.0🎜의 차이점. 아래 출시 노트는 changelog🎜에서 직접 가져온 것입니다: 🎜

v9.47.0

신규

위 내용은 라라벨 9.47이 출시되었습니다! 업데이트 한 눈에~의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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