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)