侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Laravel 10版本发布

Laravel  /  管理员 发布于 1个月前   46

Laravel 10已经发布,包括最小的PHP v8.1版本,一个新的Laravel Pennant包,可调用的验证规则,本地类型声明,以及更多...


Laravel发布时间表

在Laravel 9之前, 主要的框架版本是每年发布两次, 或者大约每6个月一次. 

从Laravel 9开始, 核心团队采用了年度计划, 在2022年2月发布Laravel 9 (而不是最初计划的2021年9月):

> Laravel使用各种社区驱动的软件包,以及9个Symfony组件来实现框架内的一些功能。
Symfony 6.0将在11月发布。出于这个原因, 我们选择将Laravel 9.0的发布推迟到2022年.

通过推迟发布,我们可以将我们的底层Symfony组件升级到Symfony 6.0,
而不必被迫等到2022年9月才进行升级。此外, 这也为我们未来的发布做了更好的定位,
因为我们每年的发布总是在Symfony的发布之后两个月进行.

今后的时间表是每年发布一个主要版本:

Laravel 9: 2022年2月8日
Laravel 10: 2023年2月14日
Laravel 11: 2024年第一季度

Laravel 9将继续得到bug修复,直到2023年8月8日,安全修复直到2024年2月14日。

你可以期待Laravel 10的bug修复到2024年8月6日,以及安全修复到2025年2月14日。


让我们来看看Laravel 10中的一些大的新功能:

Laravel 10放弃了对PHP 8.0的支持

Laravel框架将在Laravel 10中放弃对PHP<=v8.0的支持。

最低要求的版本是PHP ^8.1。

浏览master和9.x的对比,我们可以期待看到8.1的功能在框架中的使用,例如只读属性。


Laravel Pennant

Laravel Pennant是一个由Laravel团队创建的软件包,将与Laravel 10一起到来,并为您的应用程序提供功能标志。

>功能标志使你能够自信地逐步推出新的应用功能,A/B测试新的界面设计,
赞美基于主干的开发策略,以及更多。

这个软件包是核心团队提供的官方软件包阵容中最新的一个,这意味着我们现在有一个构建良好、经过测试的软件包,为我们提供了一些伟大的功能。


Laravel的进程层

Laravel的Process服务使测试和运行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()实现丰富的测试功能
在测试过程中防止游离的进程

测试进程从未如此简单。


Laravel 10骨架中的本地类型声明

在Laravel 10中, 应用程序的骨架代码将有本地类型声明。

这意味着任何由框架生成的用户区代码都会有类型提示和返回类型。

我们的文章讨论了围绕这个方法的注意事项, 我们认为在未来创建新项目时,你会喜欢增加的类型。


类型的添加方式是为Laravel项目带来最新的PHP类型提示功能,

而不会破坏框架层面的后向兼容性:

返回类型
方法参数
冗余的注解被尽可能的移除
允许用户在闭合参数中的土地类型
不包括类型化的属性


可调用的验证规则是默认的

从Laravel 10开始, 可调用的验证规则现在是默认的. 

当你通过artisan创建一个新的验证规则时, 这是你可以期待的:

# Laravel 9 creates a rule class that implements the
# Illuminate\Contracts\Validation\Rule interface
artisan make:rule Uppercase
 
# Laravel 9 flag to create an invokable and implicit rule
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit
 
# Laravel 10 creates an invokable rule by default
artisan make:rule Uppercase
 
# Laravel 10 implicit rule
artisan make:rule Uppercase --implicit


测试的配置文件选项

Laravel 10的一个新功能是--profile选项,这将使你很容易找到你的应用程序中任何缓慢的测试。

1.png

这个--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框架的主分支与9.x分支的对比中发现的一些弃用情况:

删除各种缺失 Pull Request #41136
删除Pull Request #42587中已废弃的dates属性
删除 Pull Request #42590 中的 handleDeprecation 方法
删除已废弃的 assertTimesSent 方法 Pull Request #42592
删除已废弃的 ScheduleListCommand 的 $defaultName 属性 419471e
删除已废弃的 Route::home 方法 Pull Request #42614
删除已废弃的 dispatchNow 功能 Pull Request #42591


测试Laravel 10

如果你想现在就开始测试Laravel 10, 你可以通过使用 --dev 标志在一个新的项目中安装它:

laravel new <your-project-name> --dev

升级到Laravel 10

最简单的升级方式是利用Laravel Shift,它可以自动始终保持你的应用程序是最新的,或者遵循升级指南。

https://laravelshift.com/shifts
https://laravel.com/docs/10.x/upgrade

还有更多...

你也可以查看官方发布的页面,寻找更新的信息,因为它是可用的。

https://laravel.com/docs/10.x/releases

转:

https://laravel-news.com/laravel-10

  • 上一条:
    ubuntu 22.04系统中安装cockpit-podman
    下一条:
    最新访问谷歌Google镜像/学术/搜索_GitHub镜像/下载加速链接2023/2/16持续更新
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Laravel项目中使用中间件方式统计用户在线时长功能代码示例(0个评论)
    • 在Laravel中构建业务流程模型(0个评论)
    • 在Laravel项目中的实现无密码认证之:发送邮箱链接授权(0个评论)
    • Laravel 10.4版本发布(0个评论)
    • 在laravel框架中的5个HTTP客户端技巧分享(0个评论)
    • 近期文章
    • 如何优雅处理async await错误推荐:await-to-js库(0个评论)
    • lodash工具库(0个评论)
    • 在Laravel项目中使用中间件方式统计用户在线时长功能代码示例(0个评论)
    • 在Laravel中构建业务流程模型(0个评论)
    • windows系统中安装FFMpeg及在phpstudy环境php7.3 + php-ffmpeg扩展的使用流程步骤(0个评论)
    • 在go语言中对浮点的数组、切片(slice)进行正向排序和反向排序(0个评论)
    • 在go语言中对整数数组、切片(slice)进行排序和反向排序(0个评论)
    • 在go语言中对字符串数组、切片(slice)进行排序和反向排序(0个评论)
    • 最新国内免注册ChatGPT体验站_ChatGPT镜像站访问链接地址2023/3/28持续更新(0个评论)
    • 在Laravel项目中的实现无密码认证之:发送邮箱链接授权(0个评论)
    • 近期评论
    • 博主 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..
    • xiaoB 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..
    • BUG4 在

      你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..
    • 博主 在

      go语言+beego框架中获取get,post请求的所有参数中评论 @ t1  直接在router.go文件中配就ok..
    • Jade 在

      如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-01
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客