[Laravel] 6.1.0がリリースされました
laravel/frameworkのバージョン6.1.0がリリースされました。追加された機能について確認します。
LazyCollection
クラスにeager()
メソッドが追加されました (#29832)
eager()
メソッドを利用することで、すべてのLazyCollection
の値を列挙し、新しいLazyCollection
インスタンスを構築します。
下記の例でeager()
メソッドがなければ、データの取得は2回行われます。
$users = User::cursor();
$users = $users->eager();
$count = $users->count();
$users->each(function ($user) {
//
});
LogManager
クラスにforgetChannel()
、getChannels()
メソッドが追加されました (#30132, a52a0dd)
現在指定されているログドライバの取得や削除が可能になりました。
public function testLogMnagerPurgeResolvedChannels()
{
$manager = new LogManager($this->app);
$this->assertEmpty($manager->getChannels());
$manager->channel('single')->getLogger();
$this->assertCount(1, $manager->getChannels());
$manager->purge('single');
$this->assertEmpty($manager->getChannels());
}
TestResponse
クラスにassertNoContent()
メソッドが追加されました (#30125)
ステータスコードとレスポンス内容を一度に確認することができます。
このアサーションは、最近追加されたassertForbidden()
およびassertUnauthorized()
メソッドと同じように働きます。
// Before
$response = $this->get('api/endpoint');
$response->assertStatus(409);
$this->assertEmpty($response->content());
// After
$response = $this->get('api/endpoint');
$response->assertNoContent(409);
SendQueuedNotifications
クラスにInteractsWithQueue
トレイトが追加されました (#30140)
SendQueueNotifications
クラスにretryUntil()
メソッドが追加されました (#30141)
TestResponse
クラスにwithCookies()
メソッドが追加されました (#30101)
HTTPテスト時にCookieを送信できるようになりました。
// Before
$cookies = [
'name1' => encrypt('value1'),
'name2' => encrypt('value2')
];
$response = $this->call('get', 'test', [], $cookies);
// After
$response = $this->withCookies([
'name1' => 'value1',
'name2' => 'value2'
])->get('test');
キューイング時のNotification
でのJob Middleware
がサポートされました (#30070)
詳しい変更については以下を確認してください。