이 글은 Laravel 9.47에 대한 최신 소식을 전합니다. Laravel 팀이 최근 출시한 9.47 버전의 새로운 기능을 주로 소개합니다. 관심 있는 분들이 꼭 읽어보시길 바랍니다.
Laravel 팀은 최근 새로운 Eloquent 컬렉션 가시성 방법, "파괴 가능한" 싱글톤 라우팅, 배치 페이크를 통한 지연 로딩 컬렉션 지원 등을 포함하는 9.47을 출시했습니다:
새로운 Eloquent 컬렉션 가시성 방법
Jess Archer는 Eloquent 컬렉션에 setVisible
및 setHidden
메서드를 제공했습니다. setVisible
메서드는 반환하려는 데이터를 명시적으로 지정하려는 경우 유용하며 모델에 새 속성을 추가할 때 누출되지 않습니다. setVisible
和 setHidden
方法。 当你想明确要返回的数据时,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:
BatchFake::add()
中添加了支持懒加载集合 (#45507)Illuminate/Routing/PendingSingletonResourceRegistration::destroyable()
可销毁路由 (#45549)explodeExplicitRule
与正则表达式规则 (#45555)Illuminate/Database/Query/Builder::whereIntegerInRaw()
方法 (#45584)Illuminate/Database/Console/Migrations/MigrateMakeCommand.php
rrreee 필드가 몇 개만 있는 경우 명시적으로 숨기고 싶지만 일반적으로 기본값을 표시하려는 경우에는 반대의 setHidden이 유용합니다.
withFakeBatch( )
작업과 함께 사용될 때 LazyCollection
지원에 기여합니다. 이 기능 덕분에 이제 다음 기능을 사용할 수 있습니다. rrreee 일괄 처리 시뮬레이션에 대해 자세히 알아보려면 시뮬레이터 테스트를 클릭하세요.
"파괴 가능" 싱글턴 라우팅가 싱글턴 경로를 표시하는 간단한 방법을 제공했습니다. "파괴 가능"으로. 이 유형의 경로는 삭제할 수 있지만 기본적으로 생성되지는 않습니다. 🎜rrreee릴리스 노트
🎜아래 GitHub와 9.46.0과 9.47.0🎜의 차이점. 아래 출시 노트는 changelog🎜에서 직접 가져온 것입니다: 🎜v9.47.0
신규🎜
BatchFake::add()
에서 지연 로딩 컬렉션에 대한 지원이 추가되었습니다(#45507🎜)🎜🎜숫자 규칙 목록에 소수점 추가( # 45533🎜)🎜🎜경로를 삭제하려면Illuminate/Routing/PendingSingletonResourceRegistration::destroyable()
을 추가하세요(#45549🎜)🎜🎜 Eloquent 컬렉션에 setVisible 및 setHidden을 추가합니다(#45558🎜 ) 🎜🎜수정됨
🎜바인딩 방법 컨텍스트 바인딩 수정(# 45500 🎜)🎜🎜
explodeExplicitRule
메서드 및 정규식 규칙 수정(#45555 🎜) 🎜🎜Illuminate/Database/Query/Builder::whereIntegerInRaw()
메서드를 수정했습니다(#45584🎜)🎜🎜템플릿 태그 수정(#45490🎜)🎜🎜수정 h3>
🎜속성 변환 시 모델 반환
(#45539🎜)🎜 🎜 항상 전체 마이그레이션 경로 표시Illuminate/Database/Console/Migrations/MigrateMakeCommand.php
(🎜9f6ff48🎜)🎜🎜MySQL에 기본 키를 추가할 때 인덱스 이름 제거(🎜#45515🎜)🎜🎜🎜 추천 학습 : "🎜laravel 비디오 튜토리얼🎜"🎜🎜🎜🎜원본 주소:🎜https://www.php.cn/link/67163b84d38995c8661d9f8a5b1f8d46🎜🎜번역 주소: https://www.php.cn/link/10af1041993950de8d8775280b66277a
위 내용은 라라벨 9.47이 출시되었습니다! 업데이트 한 눈에~의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!