Laravel 5.8.17 发布,包含“可点按”特性
发布于 作者: Paul Redmond
Laravel 团队昨天发布了 Laravel 5.8.17,其中包含一个新的 Tappable 特性,一个 dumpHeaders 测试方法以及其他一些新功能。
首先,一个新的 `dumpHeaders()` 方法被添加到 `TestResponse` 类中,帮助您调试 headers。以下是手动执行此操作的改进方法
$response = $this->get('/example'); // Previouslydd($response->headers->all()); // Ah, that's better$response->dumpHeaders();
新的 dumpHeaders 方法 PR 提到了 `dump()` 方法,您可能不熟悉它,但它也很方便
// dd() the response content...$response->dump();
接下来,添加了 `ends_with` 验证规则,它看起来像这样
$rules = [ 'email' => 'required|ends_with:laravel.com,jasonmccreary.me',];
接下来,`route:list` 命令添加了对多个 `columns` 参数的支持
# Previouslyphp artisan route:list --columns=method --columns=uri --columns=name # Nowphp artisan route:list --columns=method,uri,namephp artisan route:list --columns=method --columns=uri,name
一个新的 `Tappable` 特性被添加到 `Illuminate\Support` 中,您可以在一个类中定义它,如下所示
use Illuminate\Support\Traits\Tappable; class TappableClass { use Tappable; // ...}
以下是一个前后示例
// with tap method$result = tap(TappableClass::make(), function ($tappable) { $tappable->doSomething(); $tappable->doSomethingElse();})->getResult(); // with Tappable trait$result = TappableClass::make()->tap(function ($tappable) { $tappable->doSomething(); $tappable->doSomethingElse();})->getResult();
您可以在下面查看完整修复列表,以及 GitHub 上 `5.8.16` 和 `5.8.17` 之间的完整差异 5.8.16 和 5.8.17。 Laravel 5.8 的完整发布说明可在 GitHub 的 5.8 变更日志 中找到。
v5.8.17
添加
- 添加 `Illuminate\Foundation\Testing\TestResponse::dumpHeaders()` (#28450)
- 添加 `ends_with` 验证规则 (#28455)
- 添加在 `route:list` 命令中使用多个 `columns` 参数的可能性 (#28459)
- 添加 `retryAfter` 到 `Mail\SendQueuedMailable` 和 `Notifications\SendQueuedNotifications` 对象中 (#28484)
- 添加 `Illuminate\Foundation\Console\Kernel::scheduleCache()` (6587e78)
- 添加对 migrate 命令中多个 `--path` 选项的支持 (#28495)
- 添加 `Tappable` 特性 (#28507)
- 添加对通过 `Illuminate\Foundation\Application::useAppPath()` 设置的自定义应用程序目录中事件的自动发现支持 (#28493)
- 添加通过重置链接传递可通知的电子邮件 (#28475)
- 添加对 `PhpRedisConnection` 和 `PredisConnection` 中集群的 flush db 支持 (f4e8d5c)
修复
- 修复 `RoutingServiceProvider` 中的 session 解析器(在 `Container` 中未绑定 `session`)(#28438)
- 修复当路由被动态修改时 `route:list` 命令 (#28460, #28463)
- 修复具有多个 `passes()` 调用的 `required` 验证 (#28502)
- 修复迁移中更改列时的排序规则错误 (#28514)
- 仅当 `redis` >= `4.3.0` 时才向 `RedisCluster` 添加密码 (1371940)
- 在 `Filesystem::link()` 中使用 `escapeshellarg` 处理 Windows 上的符号链接 (44c3feb)
变更
- 重置无预设的 webpack 文件 (#28462)