[Laravel] 5.8.17がリリースされました
laravel/frameworkのバージョン5.8.17がリリースされました。追加された機能について確認します。
TestResponse
クラスにdumpHeaders()
メソッドが追加されました (#28450)
バリデーションルールにends_with
が追加されました (#28455)
内部的にはIlluminate\Support\Str::endsWith()
が利用されています。
$rules = [
'email' => 'required|ends_with:laravel.com,jasonmccreary.me',
];
バリデーションメッセージの追加にはresources/lang/en/validation.php
への追記が必要です。
'ends_with' => 'The :attribute must end with one of the following: :values',
route:list
コマンド実行時のcolumns
オプションに複数の値を一度に指定可能になりました (#28459)
--columns
で値を指定することで、表示するカラムの指定が可能です。
// before
php artisan route:list --columns=method --columns=uri --columns=name
// after
php artisan route:list --columns=method,uri,name
php artisan route:list --columns=method --columns=uri,name
SendQueuedMailable
、SendQueuedNotifications
クラスにretryAfter()
メソッドが追加されました (#28484)
Illuminate\Foundation\Console\Kernel
クラスにscheduleCache()
メソッドが追加されました (6587e78)
スケジューリング実行時の内容をキャッシュできるようになりました。
利用するには.env
ファイルにてSCHEDULE_CACHE_DRIVER
でキャッシュ先を指定します。
migrate
コマンド実行時の--path
オプションを複数指定可能になりました (#28495)
Tappable
traitクラスが追加されました (#28507)
動作はtap()
ヘルパーと同じですが、クラス内のメソッドとして利用する点で可読性がよくなります。
// without tap
$tappable = TappableClass::make();
$tappable->doSomething();
$tappable->doSomethingElse();
$result = $tappable->getResult();
// with tap method
$result = tap(TappableClass::make(), function ($tappable) {
$tappable->doSomething();
$tappable->doSomethingElse();
})->getResult();
// with Tappable trait
$result = TappableClass::make()->tap(function ($tappable) {
$tappable->doSomething();
$tappable->doSomethingElse();
})->getResult();
リスナーイベントの自動検出機能で参照されるディレクトリが指定可能になりました (#28493)
Illuminate\Foundation\Application::useAppPath()
にて指定可能です。
リスナーイベントの自動検出機能はv5.8.9
で追加された機能です。
パスワードリセット時のメールアドレス入力欄が自動で挿入されるようになりました (#28475)
PhpRedisConnection
、PredisConnection
クラスで複数クラスターのflush db
が可能になりました (f4e8d5c)
詳しい変更については以下を確認してください。