[Laravel] 5.8.30がリリースされました

laravel/frameworkのバージョン5.8.30がリリースされました。追加された機能について確認します。

MakesHttpRequestsクラスにoption()と、optionJson()メソッドが追加されました (#29258)

テスト時にOPTIONリクエストを検証するメソッドです。

通常のページへのレスポンス検証時にはoption()メソッドを使い、API等のレスポンス検証時にはoptionJson()メソッドを利用します。

$this->option('/example');
$this->optionJson('/api/example');

BlueprintクラスにuuidMorphs()と、nullableUuidMorphs()メソドが追加されました (#29289)

マイグレーションファイルでuuidを外部キーとしたMorphリレーションを作成できるようになりました。

作成されるスキーマはmorphs()メソッドやnullableMorphs()と同様に、引数で指定した値に対応する2種類のカラムとインデックスが作成されます。

$table->uuidMorphs('taggable');
/**
 * Add the proper columns for a polymorphic table using UUIDs.
 *
 * @param  string  $name
 * @param  string|null  $indexName
 * @return void
 */
public function uuidMorphs($name, $indexName = null)
{
    $this->string("{$name}_type");

    $this->uuid("{$name}_id");

    $this->index(["{$name}_type", "{$name}_id"], $indexName);
}

MailgunTransportクラスにgetEndpoint()と、setEndpoint()メソッドが追加されました (#29312)

メールの送信サービスにMailgunを利用している場合にエンドポイントの切り替えが可能になりました。

ドメインの切り替えは既に実装されていましたが、ドメインによってエンドポイントが異なる場合でも対応可能になりました。

$mailTransport = app()->make('mailer')->getSwiftMailer()->getTransport();
$mailTransport->setDomain('yourdomain.com');
$mailTransport->setEndpoint('api.eu.mailgun.net');

画像に関するバリデーションルールにWEBPが追加されました (#29309)

TestResponse::assertSessionHasInput()メソッドが追加されました (#29327)

Bladeテンプレートの場合、前回のリクエストの値はold()メソッドを利用して取得しますが、この値は_old_inputという名前でセッション上に保存されています。

テスト時に前回のリクエストの内容を検証したい場合に便利になりました。

// Before
$response->assertSessionHas('_old_input', [
    'connection_id' => $connection->id,
    'repository' => $repository,
    'source_branch' => $branch,
]);

// After
$response->assertSessionHasInput([
    'connection_id' => $connection->id,
    'repository' => $repository,
    'source_branch' => $branch,
]);

カスタマイズしたRedisドライバーが利用できるようになりました (#29275)

PostgresでのCollationに対応しました (#29213)


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

Release v5.8.30 · laravel/framework · GitHub

© Xzxzyzyz