>  기사  >  PHP 프레임워크  >  최신 Laravel 9.37이 출시되어 이러한 새로운 변화가 생겼습니다!

최신 Laravel 9.37이 출시되어 이러한 새로운 변화가 생겼습니다!

藏色散人
藏色散人앞으로
2022-11-04 17:02:481469검색

Laravel 팀은 이번 주에 버전 9.37을 출시했고, 9.37과 Laravel 9.36 사이에 일부 패치도 출시했습니다. 이번 주 릴리스에는 Vite, 새로운 엄격한 위반 처리기, CLI 출력 상세 보기 캐싱 등을 통한 리소스 사전 로드에 대한 지원이 추가되었습니다.

Verbose View Cache

Andrew Brown은 view:cache 명령에서 -v를 전달하여 명령이 찾고 있는 디렉터리를 출력하는 기능에 기여했습니다. -vv를 통해 명령 캐시의 각 파일을 봅니다. [관련 권장사항: laravel 동영상 튜토리얼]view:cache 命令中传递 -v 的功能,以输出命令正在查找的目录,以及通过 -vv 来查看命令缓存中的每个文件。【相关推荐:laravel视频教程

php artisan view:cache -vv

这是一个例子,你会看到新安装的 Laravel 9.37 的情况:

최신 Laravel 9.37이 출시되어 이러한 새로운 변화가 생겼습니다!

处理静默丢弃与属性丢失的方法

Aaron Francis 提供了为“静默丢弃”和“缺少属性”严格模式冲突注册处理程序的功能:

Model::handleMissingAttributeViolationUsing(
    function ($model, $key) {
        // ...
    });Model::handleDiscardedAttributeViolationUsing(
    function ($model, $keys) {
        // ...
    });

传递救援报告参数的闭包

@foremtehan 贡献了在使用 rescue() 时将可调用对象作为 $report 参数传递,以便你可以根据返回的布尔值有条件地报告错误:

rescue(fn() => 'error', fn() => 'rescue', function(Throwable $e){
    return $e instanceof SomeException;});

支持使用 Vite 预加载资源

Tim MacDonald 使用 Vite 预加载当前页面所需的资源。它现在是使用 Vite 的 Laravel 应用程序的默认行为。它如何工作的细节非常复杂,我建议阅读 Pull Request #44096. 此外,你还可以了解有关背后的一般概念的更多信息 预加载关键资源以提高加载速度.

查询构造器 RawValue方法

@eusonlito 贡献了 rawValue() 方法,支持使用SQL表达式来获取值。 以下是一些使用示例:

$first = TripModel::orderBy('date_at', 'ASC')
    ->rawValue('YEAR(`date_at`)');$last = TripModel::orderBy('date_at', 'DESC')
    ->rawValue('YEAR(`date_at`)');$fullname = UserModel::where('id', $id)
    ->rawValue('CONCAT(`first_name`, " ", `last_name`)');

发行说明

您可以在下方查看新功能和更新的完整列表,以及9.36.0 和 9.37.0之间的差异。以下发行说明来自 changelog:

v9.37.0

添加

  • 添加视图缓存时的可选详细输出 (#44673)
  • 允许传递闭包以挽救 $report 参数 (#44710)
  • 支持使用 Vite 预加载资源 (#44096)
  • 添加 Illuminate/Mail/Mailables/Content::htmlString() (#44703)

修复

  • 修复 model:show 注册 getAttribute() 作为空访问器 (#44683)
  • 修复 PendingCommand 中输出断言的预期 (#44723)

v9.36.4

添加

  • 为数据库查询生成器添加了原始值(并作为包装器雄辩) (#44631)
  • 添加 TransactionCommitting (#44608)
  • 添加 dontIncludeSource 到 CliDumper 和 HtmlDumper (#44623)
  • 添加 Illuminate/Filesystem/FilesystemAdapter::checksum()rrreee
  • 이것은 예시입니다. 새로 설치된 Laravel 9.37이 표시됩니다.
  •  최신 Laravel 9.37이 출시되어 이러한 새로운 변화가 생겼습니다!

자동 삭제 및 속성 누락을 처리하는 방법
  • Aaron Francis는 "자동 삭제" 및 "속성 누락" 엄격 모드 충돌에 대한 핸들러를 등록하는 기능을 제공합니다.
rrreee

구조 보고서 매개변수 전달을 위한 클로저
  • @foremtehan은 rescue()를 사용할 때 호출 가능 객체를 $report 매개변수로 전달하여 조건부로 오류를 보고할 수 있도록 기여했습니다. 반환된 부울 값:
  • rrreee

Vite를 사용한 리소스 사전 로드 지원Tim MacDonald Vite를 사용하여 현재 페이지에 필요한 리소스를 사전 로드합니다. 이제 이는 Vite를 사용하는 Laravel 애플리케이션의 기본 동작입니다. 작동 방식에 대한 자세한 내용은 매우 복잡하므로 Pull Request #44096을 읽어 보시기 바랍니다. 또한 로딩 속도를 향상시키기 위해 주요 리소스를 미리 로드하는 일반적인 개념에 대해 자세히 알아볼 수 있습니다. eusonlito는 SQL 표현식을 사용하여 값을 얻을 수 있도록 지원하는 rawValue() 메서드에 기여했습니다. 다음은 몇 가지 사용 예입니다.

rrreee🎜🎜🎜🎜릴리스 노트🎜🎜🎜아래에서 새로운 기능과 업데이트의 전체 목록은 물론 9.36.0과 9.37.0의 차이점을 볼 수 있습니다. 다음 릴리스 노트는 변경 로그에서 가져온 것입니다. 🎜🎜🎜🎜🎜v9.37.0🎜🎜🎜🎜🎜 추가됨 🎜🎜🎜 뷰 캐싱 추가 시 선택적 자세한 출력(#44673) 🎜🎜 $report 매개변수를 저장하기 위해 클로저 전달 허용(# 44710 )🎜🎜Vite를 사용하여 리소스를 미리 로드하도록 지원(#44096)🎜🎜 Illuminate/Mail/Mailables/Content::htmlString() 추가(#44703)🎜🎜🎜🎜🎜Fix🎜🎜🎜Fix 모델 : 레지스터 표시 getAttribute ()로 getAttribute ()가 널 액세서리 (#44683) apending Command (#44723)의 출력 어설 션에 대한 기대 값 🎜🎜🎜🎜🎜🎜V9.36.4🎜🎜🎜🎜🎜add 🎜🎜🎜 Query Builder가 추가되었습니다. 기본 값(및 Eloquent의 래퍼)(#44631)🎜🎜TransactionCommitting 추가(#44608)🎜🎜CliDumper 및 HtmlDumper에 dontIncludeSource 추가(#44623)🎜🎜Illuminate/Filesystem/FilesystemAdapter::checksum 추가 ( ) (#44660)🎜🎜자동 삭제 및 속성 누락 충돌을 위한 핸들러 추가(#44664)🎜🎜🎜🎜🎜Restore🎜🎜🎜Restore" ID가 없는 모델에서 MustVerifyEmail을 기본 키로 사용하도록 허용” (#44672 ) 🎜🎜🎜🎜🎜변경 🎜🎜🎜 요청 복제 시 새 Json 매개변수 팩 인스턴스 생성(#44671) 🎜🎜env:decrypt 실행 시 공급자가 시작되지 않도록 방지(#44654) 🎜🎜🎜🎜🎜🎜 v9.36.3🎜 🎜

복원

  • 복원 이벤트 미세 최적화(#44653)

fix

  • 사이드바 탭 수정, 보기 캐시 보기 지우기: 지우기(#44643)
  • fixIlluminate/Database/Eloquent/Model::offsetExists()(#44642)
  • 구성 요소의 캐시와 테스트 사이에 팩토리 무시(#44648)

Change

  • Bump Testbench 종속성(#44651)

v9.36.2

수정 ed

    제작자를 확인하고 *가 존재할 때 컴포지터가 호출됩니다. (#44636)

v9.36.1

Fix

    createBladeViewFromString을 사용하여 livewire 구성 요소 수정(#pull)
원본 텍스트 주소: https://laravel -news.com/laravel-9-37-0

번역 주소: https://learnku.com/laravel/t/72839

위 내용은 최신 Laravel 9.37이 출시되어 이러한 새로운 변화가 생겼습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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