Laravel 11.14 中的新字符串助手和 ServeCommand 改进
最后更新于 作者: Paul Redmond
Laravel 团队上周中旬发布了 v11.13,本周发布了 v11.14。这些版本添加了新的字符串方法,如 chopStart
和 chopEnd
,Laravel 的 String markdown 方法中的 Commonmark 扩展支持,一个 Number::pairs()
方法等等。
chopStart
和 chopEnd
(v11.13)
字符串 Tim MacDonald 为字符串贡献了两种用于从字符串开头或结尾删除字符的方法。chopStart
和 chopEnd
方法可以使用 Str
或 Stringable
类。
Str::chopEnd('path/to/file.php', '.php'); // "path/to/file" Str::chopStart('https://laravel.net.cn', ['https://', 'http://']); // laravel.com
Str::markdown()
和 Stringable 类的扩展的支持
添加对 Tony Lea 为将 Commonmark 扩展作为第三个参数传递给 Str::markdown()
方法提供了支持。
$html = Str::markdown($markdown_contents, [], [ new AttributesExtension(), new TaskListExtension(),]);
在 Laravel 11.14 中,Luke Downing 紧随 Tony Lea 的贡献,在 Stringable
类中添加了对 Commonmark 扩展的支持。
$html = str('# My Heading')->markdown( extensions: [new HeadingPermalinksExtension()]);
Macroable TokenGuard (v11.13)
@Iman 在 TokenGuard
类中添加了 Macroable
特性以支持此防护程序上的自定义宏。有关详细信息,请参阅 Pull Request #51922。
Number::pairs()
(v11.13)
添加 Adam Campbell 贡献了 Number::pairs()
方法,该方法“提供了将数字‘拆分’为最小值/最大值对的能力。它有点像滑动,只是该方法会为您确定值。”
$output = Number::pairs(25, 10); // [[1, 10], [11, 20], [21, 25]] $output = Number::pairs(25, 10, 0); // [[0, 10], [10, 20], [20, 25]] $output = Number::pairs(10, 2.5, 0) // [[0, 2.5], [2.5, 5.0], [5.0, 7.5], [7.5, 10.0]]
SensitiveParameter
特性标记敏感参数 (v11.14)
使用 PHP 的 Philip Iezzi 为 Laravel 贡献了更新,试图使用 PHP >= 8.2 的 SensitiveParameter 特性标记敏感参数。这是一个很好的提醒,如果您运行 PHP >= 8.2,请在应用程序代码中利用此特性。
有关详细信息,请参阅 Pull Request #51940。
artisan serve
命令的改进
对 Seth Phat 为 artisan serve
命令贡献了改进。
- 打印出更好的请求时间,对于少于 1 秒的请求,~0s 似乎一点也不有用。
- 显示请求的路由而不是“.........”。
少于 1 秒的请求现在以毫秒为单位打印时间,而不是 0s
。
发布说明
Laravel 11.13 上周中旬发布,因此以下发布说明来自这两个版本。您可以在下面查看完整的最新功能和更新列表,以及 11.12.0 和 11.14.0 之间的差异。以下发布说明直接来自 更改日志
v11.14.0
- 在 https://github.com/laravel/framework/pull/51933 中,由 @bartdenhoed 添加了将 Pest 存根发布到命令
- [11.x] 在 https://github.com/laravel/framework/pull/51951 中,由 @JamesFreeman 为 FakeJob 添加了 attempts() 方法
- [11.x] 在 https://github.com/laravel/framework/pull/51946 中,由 @Jubeki 在 Ubuntu 24.04 上运行所有工作流
- [11.x] 在 https://github.com/laravel/framework/pull/51952 中,由 @lmottasin 改进
Arr
类中mapSpread
方法的 PHPDoc 并从 IDE 中删除警告 - 在 https://github.com/laravel/framework/pull/51955 中,由 @dependabot 将 /src/Illuminate/Foundation/resources/exceptions/renderer 中的 braces 从 3.0.2 升级到 3.0.3
- [11.x] 在 https://github.com/laravel/framework/pull/51943 中,由 @seriquynh 从 AssertableJsonString 中删除无法访问的代码
- [11.x] 在 https://github.com/laravel/framework/pull/51942 中,由 @seriquynh 修复 TestResponseAssert 文档块
- [11.x] feat: 在 https://github.com/laravel/framework/pull/51938 中,由 @calebdw 为助手添加了更具体的类型和测试
- [11.x] 在 https://github.com/laravel/framework/pull/51940 中,由 @onlime 使用
SensitiveParameter
特性标记敏感参数 - [11.x] 在 https://github.com/laravel/framework/pull/51932 中,由 @lukeraymonddowning 为
Stringable
类添加了对 Markdown 扩展的支持。 - [11.x] 在 https://github.com/laravel/framework/pull/51949 中,由 @seriquynh 为 Components\Factory 类添加了 secret 方法声明
- [11.x] 在 https://github.com/laravel/framework/pull/51958 中,由 @Jubeki 在 Windows 2022 上并使用 bash 而不是 powershell 运行工作流
- [11.x] 在 https://github.com/laravel/framework/pull/51965 中,由 @chu121su12 修复了重复的返回类型 PHPDoc
- [11.x] 在 https://github.com/laravel/framework/pull/51974 中,由 @nshiro 修复了测试失败消息
- [11.x] 在 https://github.com/laravel/framework/pull/51969 中,由 @seriquynh 更新了测试以确保邮件消息实现了流畅的接口模式
- [11.x] 在 https://github.com/laravel/framework/pull/51968 中,由 @hafezdivandari 在
HttpResponseException
上设置了先前的异常 - [11.x] 在 https://github.com/laravel/framework/pull/51966 中,由 @zbundy 修复了 SupportCollectionTest 中的错别字
- [11.x] 在 https://github.com/laravel/framework/pull/51957 中,由 @sethsandaru 对 ServeCommand 做出了改进(添加更多爱情并提升 DX)
- [11.x] 在 https://github.com/laravel/framework/pull/51963 中,由 @haniha 添加了使用 castAsJson 与 MariaDb 连接的支持
- [11.x] 在 https://github.com/laravel/framework/pull/51934 中,由 @innocenzi 添加了通过容器对属性进行操作的支持
- [11.x] 在 https://github.com/laravel/framework/pull/51988 中,由 @seriquynh 修复了 Component::resolveComponentsUsing 测试
- [11.x] 在 https://github.com/laravel/framework/pull/51983 中,由 @seriquynh 更新了 composer.json 文件以提供 PSR 实现
- [11.x] 在 https://github.com/laravel/framework/pull/51982 中,由 @hpiaia 为软删除事件添加了排队的闭包类型
- [11.x] 在 https://github.com/laravel/framework/pull/51989 中,由 @guiqibusixin 修复了使用容器嵌套在不同上下文中创建相同“抽象”的问题
- [11.x] 修复由 @Tofandel 在 https://github.com/laravel/framework/pull/51984 中提交的 sync 运行触碰查询两次的错误。
v11.13.0
- [11.x] 由 @tnylea 在 https://github.com/laravel/framework/pull/51907 中提交的,在 Str::markdown 方法中添加对扩展的支持。
- [11.x] 由 @seriquynh 在 https://github.com/laravel/framework/pull/51902 中提交的,更新 config:show 命令。
- [11.x] 由 @seriquynh 在 https://github.com/laravel/framework/pull/51913 中提交的,修复控制台提示的 docblock。
- [11.x] 由 @seriquynh 在 https://github.com/laravel/framework/pull/51916 中提交的,修复禁止的 docblock。
- [11.x] 由 @timacdonald 在 https://github.com/laravel/framework/pull/51912 中提交的,将
$queue
标记为可空。 - 由 @imanghafoori1 在 https://github.com/laravel/framework/pull/51922 中提交的,在 TokenGuard 上使用
Macroable
特性。 - [11.x] 由 @seriquynh 在 https://github.com/laravel/framework/pull/51914 中提交的,更新 Command::fail() 的 dockblock 和测试。
- 由 @jasonmccreary 在 https://github.com/laravel/framework/pull/51924 中提交的,恢复并添加测试。
- [11.x] 由 @nshiro 在 https://github.com/laravel/framework/pull/51925 中提交的,显示视图创建消息。
- [11.x] 由 @timacdonald 在 https://github.com/laravel/framework/pull/51910 中提交的,引入
Str::chopStart
和Str::chopEnd
。 - feat: 由 @hotmeteor 在 https://github.com/laravel/framework/pull/51904 中提交的,添加 Number::pairs。
- [11.x] 由 @crynobone 在 https://github.com/laravel/framework/pull/51926 中提交的,修复通过 Process 将命令作为数组传递时对路径进行转义的错误。
- [11.x] 由 @princejohnsantillan 在 https://github.com/laravel/framework/pull/51905 中提交的,使 MultipleInstanceManager 驱动程序字段可自定义。
- [11.x] 由 @shengslogar 在 https://github.com/laravel/framework/pull/51880 中提交的,在新的 Laravel 错误页面上考虑长字符串。