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

Laravel 9.38版本发布

Laravel  /  管理员 发布于 2年前   567

Laravel团队在本周发布了9.38版本,包括隔离的工匠命令,有条件地设置通知中间件,可配置的可排队通知的最大异常,以及更多。

> 今天的Laravel 9.38.0版本引入了可隔离的命令。确保每次只有一个Artisan命令的实例在运行。
 使用起来很方便 - 我们已经在 "migrate "命令中加入了对它的支持. 在部署过程中很方便。
 
 文档:https://t.co/35lcZJZHPO pic.twitter.com/tLln5thJHO
 
 - Taylor otwell (@taylorotwell) 2022年11月1日


隔离的Artisan命令

Oliver Nybroe贡献了一个可隔离的界面,使其能够轻而易举地确保你的命令一次只运行一个进程。

namespace App\Console\Commands;
 
use Illuminate\Console\Command;
use Illuminate\Contracts\Console\Isolatable;
 
class SendEmails extends Command implements Isolatable
{
    // ...
}


第一个包含Isolatable接口的artisan命令是artisan migrate命令。

使用--isolated标志,你可以将迁移限制在一个活动进程中,

并确保两个服务器不能同时运行迁移命令。

php artisan migrate --isolated

注意:

隔离迁移不是默认的,它是在--isolated标志后面发布的,以减少破坏变化的机会。

关于如何在你的命令中使用这个功能的更多细节,请参见Isolatable Commands文档。

https://laravel.com/docs/9.x/artisan#isolatable-commands


设置会话存储处理程序

Samuel Štancl为session Store类贡献了一个setHandler方法。在拉动请求的描述中,有这样一段话:"为什么这很有用?

> 使用的情况是,当你临时改变数据库连接时,数据库会话驱动程序可能会遇到问题,
 它试图在一个不再存在的DB连接上运行查询......通过添加setter,
 我可以临时重建DatabaseSessionHandler,使其使用正确的DB连接。


slug帮助字典

@Dhemy 贡献了一个可定制的字典,用于调用Str::slug()时的特殊字符。

$ php artisan tinker
 
>>> Str::slug('500$ bill');
=> "500-bill"
 
>>> Str::slug(
...     title: '500$ bill',
...     dictionary: ['@' => 'at', '$' => 'dollar']
... );
=> "500-dollar-bill"


有条件地设置通知中间件

Andrew Monty 贡献了根据通知者和通道实例来设置通知中间件的能力。下面是拉动请求描述中的一个例子。

public function middleware($notifiable, $channel)
{
    if ($notifiable instance of User && $notifiable->isAdmin()) {
        return [];
    }
 
    if ($channel == 'email') {
        return [new RateLimited('mailgun')];
    }
 
    return [];
}


增加一个touchQuietly模型便利方法

Craig Anderson 贡献了一个 touchQuietly() 便捷方法,可以在不引发任何事件的情况下触摸模型的更新时间戳。

$model->touchQuietly();


从一个组中删除中间件

Mateus Guimarães贡献了从一个组中删除中间件的能力。如果你需要动态地注册或删除中间件,这个功能很有帮助。

$router->removeMiddlewareFromGroup(
    'web',
    'test-middleware'
);


可排队的通知可以设置最大的例外情况

Andrew Monty 贡献了排队通知使用最大例外的能力。在你有很多重试的情况下,设置最大例外是有帮助的。

也许排队的通知被第三方限制了速率,或者其他方面不会成功,而你想自定义允许的最大例外数量。

更多细节和例子请参见Pull Request #44773。

https://github.com/laravel/framework/pull/44773


发布说明

你可以在GitHub上看到以下完整的新功能和更新列表以及9.37.0和9.38.0之间的差异。

下面的发行说明直接来自更新日志。

https://github.com/laravel/framework/compare/v9.37.0...v9.38.0
https://github.com/laravel/framework/blob/cd7f19d3e4c09c170bef13663aad96077c201789/CHANGELOG.md#v9380---2022-11-01


v9.38.0

已添加

已添加 Illuminate/Routing/Route::flushController() (#44393)
已添加 Illuminate/Session/Store::setHandler() (#44736)
为slug帮助器添加了字典(#44730)。
增加了根据可通知的实例和通道来设置中间件的功能(#44767)
为Model添加了touchQuietly便利方法(#44722)
增加了Illuminate/Routing/Router::removeMiddlewareFromGroup() (#44780)
允许可排队的通知设置maxExceptions (#44773)
让migrate命令与外界隔离(#44743,ac3252a)。

修复了

修正了使用Eloquent严格模式时的whenPivotLoaded(As) api资源方法(#44792)
修正了在父视图中使用$attributes时的组件视图错误(#44778)。
修正了在模型查询中使用existOr和doesntExistOr方法时无视全局范围的问题(#44795)

更改了

必要时重新编译视图(#44737)
未配置广播连接时抛出有意义的异常(#44745)
当运行env:encrypt时,防止启动供应商(#44758)
为预装资产添加了nonce (#44747)
在预装视图时继承跨源属性 (#44800)

转:

https://laravel-news.com/laravel-9-38-0

  • 上一条:
    用于Laravel的多用途价值对象扩展包推荐:laravel-value-objects
    下一条:
    go + jq ajax发布数据到服务器并发送数据到客户端示例代码
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • Laravel 11.14版本发布 - 新的字符串助手和ServeCommand改进(0个评论)
    • Laravel 11.12版本发布 - Artisan的`make`命令自动剪切`.php `扩展(0个评论)
    • Laravel的轻量型购物车扩展包:binafy/laravel-cart(0个评论)
    • Laravel 11.11版本发布 - 查看模型中的第三方关系:show(0个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 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
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    Top

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

    侯体宗的博客