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

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

lluminate\Support\Facades\DateクラスからMacroableなメソッドを直接実行可能になりました (#28129)

Macroableの機能を利用した関数を、staticな関数のように実行することができるようになりました。

Date::macro('returnNonDate', function () {
    return 'string';
});

 $this->assertSame('string', Date::returnNonDate());

Filesystemsクラスでローカルのディスクを利用する場合にファイルロックの利用をカスタマイズできるようになりました (#28124)

以下のようにconfig/filesystems.phplockパラメーターを指定することでカスタマイズ可能です。

'local' => [
    'driver' => 'local',
    'root' => storage_path('app'),
    'lock' => 0,
],

Filesystemsについてさらに詳しく知りたい場合はこちらを確認してください。

Illuminate\Console\Scheduling\Eventがコマンドの終了コードを保存するようになりました (#28140)

この機能の追加により、スケジューリングに指定したコマンドのテストが可能になりました。

LaravelでのスケジューリングにはApp\ConsoleKernelクラスのschedule()メソッドで行うことが推奨されています。

このメソッド内で$schedule->command()等を用いてコマンドを実行する場合には、内部的にはIlluminate\Console\Scheduling\Eventとして処理されています。

Illuminate\Console\Scheduling\EventにはMacroableトレイトが利用可能なので、Macroableを利用した独自のメソッドの追加などによりコマンド実行時の終了コードを確認できます。


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

Release v5.8.11 · laravel/framework · GitHub

© Xzxzyzyz