Laravel 5.7.26发布
Laravel团队昨天发布了Laravel5.7.26,其中包含一种新的管道方法和一种暂时绕过模型事件的方法。
首先,thenReturn 蒂姆·麦克唐纳(TimMacDonald)添加了新的Pipeline方法 ,以允许对通过的对象做额外的工作:
//之前
$users = app(Pipeline::class)
->send(User::query())
->through($pipes)
->then(function ($query) {
return $query
->whereConfirmedEmail()
->whereAccountActive()
->get();
});
//从5.7.26开始,您可以使用`thenReturn()`。
$users = app(Pipeline::class)
->send(User::query())
->through($pipes)
->thenReturn()
->whereConfirmedEmail()
->whereAccountActive()
->get();接下来,添加了一些公共获取方法:
Illuminate\Cache\TaggedCache::getTags(); Illuminate\Http\ResponseTrait::getCallback();
由于Laravel对所有组件使用子树拆分,因此许可证文件已添加到每个Illuminate组件:
由于我们使用子拆分将组件拆分为单独的程序包,因此我们还希望为每个组件提供一个许可证文件。
添加了一种 方法来暂时绕过模型事件。一个常见的用例是测试:Model::withoutEvents()
$user = User::withoutEvents(function () {
return factory(User::class)->create();
});
$user->doSomethingWhereEventsShouldFire();您可以在下面看到更改的完整列表,以及GitHub上5.7.25和5.7.26之间的全部差异。可以在GitHub5.7更改日志中找到Laravel5.7的完整发行说明:
v5.7.26
添加
添加 (#27429)Illuminate\Pipeline\Pipeline::thenReturn()
新增 (#27445)Illuminate\Cache\TaggedCache::getTags()
添加 (#27464)Illuminate\Http\ResponseTrait::getCallback()
向每个组件添加了许可证文件(9e57e8b)
添加的 方法(#27419,5c5d6b2)Model::withoutEvents()
已还原
恢复“急于MorphTo 使用 withDefault() (#27411)可以为null加载可修复的错误类 ”(9bbf644)
已变更
改进了(#27495,98010da)中的错误消息 Illuminate\Foundation\Testing\TestResponse::assertJsonValidationErrors()
Illuminate\Support\Testing\Fakes\EventFake::dispatch()将返回响应(#27430)