[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)
詳しい変更については以下を確認してください。