[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)


詳しい変更については以下を確認してください。

Release v6.1.0 · laravel/framework · GitHub

© Xzxzyzyz