최소 필수 버전인 PHP v8.1, 새로운 Laravel Pennant 패키지, 호출 가능한 유효성 검사 규칙, 로컬 유형 선언 등을 포함하는 Laravel 10이 출시되었습니다.
Laravel 출시 일정
Laravel 9 이전에는 주요 프레임워크 버전이 1년에 두 번 또는 대략 6개월마다 출시되었습니다. Laravel 9부터 핵심 팀은 연간 계획으로 전환하여 2022년 2월(원래 계획대로 2021년 9월이 아닌) Laravel 9를 출시했습니다.
Laravel은 다양한 커뮤니티 기반 패키지와 9개의 Symfony 구성 요소를 사용하여 프레임워크에 많은 기능을 구현합니다. Symfony 6.0은 11월에 출시될 예정입니다. 이러한 이유로 우리는 Laravel 9.0의 출시를 2022년까지 연기하기로 결정했습니다.
릴리스를 연기하면 이 업그레이드를 위해 2022년 9월까지 기다리지 않고도 기본 Symfony 구성 요소를 Symfony 6.0으로 업그레이드할 수 있습니다. 또한 매년 Symfony 출시 후 2개월 이내에 수행하므로 향후 릴리스에 더 잘 대비할 수 있습니다.
앞으로 Laravel은 다음을 포함하여 매년 하나의 주요 버전을 출시할 예정입니다:
Laravel 9는 2023년 8월 8일까지 계속해서 취약점을 수정하고 2024년 2월 14일까지 보안 수정 사항을 제공할 예정입니다.
Laravel 10은 2024년 8월 6일까지 버그 수정을 제공하고, 2025년 2월 14일까지 보안 수정을 제공합니다.
다음으로 Laravel 10의 새로운 주요 기능 중 일부를 살펴보겠습니다.
Laravel 10은 더 이상 PHP 8.0을 지원하지 않습니다.
Laravel 10에서 Laravel 프레임워크는 더 이상 PHP
Laravel Pennant
Laravel Pennant는 Laravel 팀이 만든 패키지로, 애플리케이션에 기능 플래그를 제공하기 위해 Laravel 10과 함께 출시될 예정입니다.
기능 플래그를 사용하면 자신 있게 새로운 앱 기능을 점진적으로 출시하고, 새로운 인터페이스 디자인을 A/B 테스트하고, 트렁크 기반 개발 전략을 보완하는 등의 작업을 수행할 수 있습니다.
이 패키지는 핵심 팀이 제공하는 공식 패키지 라인업 중 최신 패키지입니다. 즉, 이제 몇 가지 훌륭한 기능을 제공하는 잘 구축되고 테스트된 패키지를 갖게 되었습니다.
Laravel의 프로세스 계층
Laravel Process Service을 사용하면 CLI 프로세스를 테스트하고 실행하는 것이 환상적인 작업이 됩니다.
use Illuminate\Support\Facades\Process; $result = Process::run('ls -la'); $result->successful(); $result->failed(); $result->exitCode(); $result->output(); $result->errorOutput(); $result->throw(); $result->throwIf($condition);
프로세스 계층에는 다음과 같은 풍부한 기능이 포함되어 있습니다.
fake()
를 통해 풍부한 테스트 기능을 구현합니다. fake()
实现丰富的测试功能测试进程从未如此简单。
Laravel 10 骨架中的本地类型声明
在 Laravel 10,应用程序骨架代码将有本地类型声明。这意味着任何由框架生成的用户区代码都会有类型提示和返回类型。我们的文章讨论了围绕该方法的注意事项,我们认为在未来创建新项目时,你会喜欢上增加的类型。
类型的添加方式可以为 Laravel 项目带来最新的 PHP 类型提示功能,而且不会破坏框架层面的后向兼容性:
可调用的验证规则成为默认规则
从 Laravel 10 开始, 可调用的验证规则 现在是默认的规则。 当你通过 artisan 创建一个新的验证规则时, 以下是你能在预想中得到的结果:
# Laravel 9 创建了一个规则类,实现了 # Illuminate\Contracts\Validation\Rule 接口 artisan make:rule Uppercase # Laravel 9 创建一个可调用和隐性规则的标志 artisan make:rule Uppercase --invokable artisan make:rule Uppercase --invokable --implicit # Laravel 10 默认会创建一个可调用的规则 artisan make:rule Uppercase # Laravel 10 隐性规则 artisan make:rule Uppercase --implicit
测试的配置文件选项
Laravel 10 的一个新功能是 --profile
选项,这将使你很容易找到你的应用程序中所有缓慢的测试。
--profile
테스트 시 지저분한 프로세스를 방지합니다.
테스트 프로세스가 그 어느 때보다 쉬워졌습니다.
Laravel 10 스켈레톤의 로컬 유형 선언 🎜🎜🎜Laravel 10에서 애플리케이션 스켈레톤 코드는 지역 유형 선언입니다 🎜. 이는 프레임워크에서 생성된 모든 사용자 영역 코드에 유형 힌트와 반환 유형이 있음을 의미합니다. 우리 기사에서는 이 접근 방식과 관련된 고려 사항을 논의하고 있으며 앞으로 새 프로젝트를 만들 때 추가된 유형을 높이 평가할 것이라고 생각합니다. 🎜🎜유형을 추가하는 방법은 프레임워크 수준에서 이전 버전과의 호환성을 유지하면서 Laravel 프로젝트에 최신 PHP 유형 힌트를 가져올 수 있습니다. 🎜🎜🎜반환 유형🎜🎜메서드 매개변수🎜🎜중복 주석을 최대한 제거🎜 🎜사용자 허용- 클로저 매개변수에 로컬 유형 🎜🎜정의된 유형의 속성을 포함하지 마세요 🎜🎜🎜🎜호출 가능한 유효성 검사 규칙이 기본 규칙이 됩니다 🎜🎜🎜Laravel 10부터 호출 가능한 유효성 검사 규칙 🎜이 이제 기본 규칙입니다. artisan을 통해 새로운 유효성 검사 규칙을 생성할 때 기대할 수 있는 사항은 다음과 같습니다: 🎜use Illuminate\Support\Str; $password = Str::password(); // 'EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4' $password = Str::password(12); // 'qwuar>#V|i]N'
--profile</ code> 옵션입니다. 애플리케이션에서 느린 테스트를 모두 쉽게 찾을 수 있습니다. 🎜🎜<img src="https://img.php.cn/upload/image/562/252/516/1676865566811048.jpg" title="1676865566811048.jpg" alt="Laravel10의 새로운 기능에 대한 간략한 개요!" />🎜 🎜 < --profile
옵션은 🎜빠른 테스트🎜를 유지하고, 느린 테스트를 수정하거나, 그룹화하여 항상 실행되는 것을 방지하는 데 도움이 됩니다. 🎜🎜🎜새로운 문자열 비밀번호 도우미🎜🎜Str::password
方法可以生成给定长度的安全、随机的密码。密码将由字母、数字、符号和空格组成。默认情况下,密码的长度为32个字符:
use Illuminate\Support\Str; $password = Str::password(); // 'EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4' $password = Str::password(12); // 'qwuar>#V|i]N'
Laravel 9的弃用
Laravel 9中标记为已弃用的方法在Laravel 10中被删除。我们可以期待发行版升级指南概述所有不推荐的方法、潜在影响评估,以及如何升级到更接近发行版。
以下内容是在撰写本文时, 将Laravel 框架 master
主分支到 9.x
分支的 对比 中发现的一些弃用点:
handleDeprecation
方法 Pull Request #42590assertTimesSent
方法 Pull Request #42592ScheduleListCommand
$defaultName
特性 419471eRoute::home
方法 Pull Request #42614dispatchNow
功能 Pull Request #42591测试 Laravel 10
如果你现在就想开始测试Laravel 10,你可以通过使用 --dev
标志将它安装到一个新项目中:
laravel new <your-project-name> --dev
升级到 Laravel 10
最简单的升级方法是利用 Laravel变化 并且它可以自动地始终保持应用程序的更新,或者根据官方文档 升级指南。
更多...
你也可以查看 官方发布的页面 查找可用的最新信息。
위 내용은 Laravel10의 새로운 기능에 대한 간략한 개요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!