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

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

WithFaker::makeFaker()メソッドにapp.faker_localeのロケールが指定されるようになりました (#29123)

テスト時に利用する\Illuminate\Foundation\Testing\WithFakeが、config/app.php内に指定可能なfaker_localeを参照するようになりました。

Notificationをメールで行う際にデザインテーマを指定可能になりました (#29132)

MailMessageクラスを利用してMarkDown形式でのメール送信の際のデザインテーマをカスタマイズできるようになりました。

デフォルトで使用するdefault.cssを上書きすること無くオリジナルのcssファイルを指定できます。

オリジナルのcssファイルはresources/views/vendor/mail/html/themes以下に配置する必要があります。

public function toMail($notifiable)
{
  $url = url('/invoice/'.$this->invoice->id);

  return (new MailMessage)
      ->theme('notification')
      ->greeting('Hello!')
      ->line('One of your invoices has been paid!')
      ->action('View Invoice', $url)
      ->line('Thank you for using our application!');
}

migration実行時の処理時間がコンソールに出力されるようになりました (#29149)

Illuminate\Database\Query\BuilderクラスのwhereNull()およびwhereNotNull()メソッドの引数に配列を指定可能になりました (#29154)

複数のカラムに対してNull判定を行う際にまとめて指定できるようになりました。

// Before
$query->whereNull('id')->whereNull('expires_at');
$query->whereNotNull('id')->whereNotNull('expires_at');

// After
$query->whereNull(['id', 'expires_at']);
$query->whereNotNull(['id', 'expires_at']);

Console\Scheduling\ManagesFrequencies::hourlyAt()メソッドの引数に配列を指定可能になりました (#29173)

毎時のスケジューリングを設定する際にまとめて指定できるようになりました。

// Before
$schedule->command('my:command')->hourlyAt(15)->hourlyAt(30)->hourlyAt(45)

// After
$schedule->command(my:command')->hourlyAt([15, 30, 45]);

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

Release v5.8.29 · laravel/framework · GitHub

© Xzxzyzyz