PHP
Laravel
laravel5
laravel5.6
LaravelNews

Laravel 5.6.* Released【随時更新】

Laravel Newsには良記事が満載なので、備忘録の意味合いも込めて、記事を簡単にまとめていこうと思います(翻訳ではないです)。

リリース記事が多いので1つの投稿にまとめることにしました。


5.6.23, 5.6.24

投稿日: 2018/06/07

URL: https://laravel-news.com/laravel-5-6-24


  • マイグレーションにてインデックスの名前変更がサポートされた。


  • Event::fakeFor()メソッドが追加された。

    なんだろ…。


  • @cananyディレクティブが追加された。

    指定のいずれかのアクションが実行できるかどうかで分岐できる。

    似たようなものを自前で作ってました。


  • TestReponse::assertLocation()メソッドが追加された。

    HTTPヘッダのLocationのチェックができるようになった。


  • assertSessionHasNoErrors() が追加された。

    セッションにerrorsキーがないかどうか。わざわざヘルパ関数として用意するまでもあるのかな。


  • POINT型作成時にSRIDを指定できるようになった。

    MySQL8でそうなったのでその対応です。

    で、SRIDってなんだろう。


  • クエリビルダにJSONに対応したメソッドが追加された。

    whereJsonDoesntContain

    orWhereJsonDoesntContain


  • すべての通知イベントにQueueable, SerializesModelsが追加された。


  • ルーティングの定義時に配列を使った方法がサポートされた。

    @を使ってするよりかはまぁ楽なのかなぁ


Route::get('smth', [SomeController::class, 'methodName']);


  • SQL ServerでJSONをSELECTするクエリがサポートされた。


5.6.21, 5.6.22

投稿日: 2018/05/17

URL: https://laravel-news.com/laravel-5-6-22


  • リレーションをロードしていない場合にロードするModel::loadMissing をCollectionにも追加した。

    大絶賛されてます。

    ネストしたリレーションにも対応してるぽい。


  • FilesystemManagerでdiskをリセット(unset)するforgetDiskメソッドが追加された。

    ディスクを切り替えたいときに使うようですね。


  • php artisan down したときに、指定IPのみメンテナンスモードではなく通常モードで閲覧できるようした。

    これは便利ですね。


  • バリデーションルールに'Gt', 'Lt', 'Gte', 'Lte'が追加された。

    思えば今までなかったんですね。

    数値の大小、文字列長の大小によるルールです。


  • TestResponseにクッキーの有効期限切れチェックのassertCookieNotExpiredメソッドが追加された。



5.6.20

投稿日: 2018/05/08

URL: https://laravel-news.com/laravel-5-6-20


  • abort関数にResponse、Responsableを渡すとHttpResponseExceptionが発生されるようになった。

    どう便利になったのかを説明できない…。


  • タスクフックのpingBefore、thenPingに実行条件を設定できるpingBeforeIf、thenPingIfが追加された。

    そもそもpingBefore、thenPingを初めて知った…。


  • ポリモーフィックリレーションでwithDefaultを使えるようになった。

    ポリモーフィックもwithDefaultも使ったことない…。



5.6.19

投稿日: 2018/05/01

URL: https://laravel-news.com/laravel-5-6-19


  • SparkPostのエンドポイントを設定で変更できるになった。


  • Optionalでissetが使えるようになった。

    自分はまだ使ってないですね、optinal。


  • メール通知で複数のccやbccに対応。



5.6.18

投稿日: 2018/04/30

URL: https://laravel-news.com/laravel-5-6-18


  • MySQL 8をサポート。


  • FileSystemドライバのgetUrlも使用できるようになった。

    Storage::url(〜)はファイルのURLを返しますが、内部ではドライバが持つアダプタからURLを取得しています(getUrl)。

    ただ、一部のアダプタ(例. AzureAdapter)はgetUrlメソッドを持っていないので、ドライバにgetUrlメソッドがあれば、それを使用するにしたようです。


  • PostgreSQLで「not ilike」「is distinct from」「is not distinct from」が使えるように。


  • PusherのJSONPによる認証に対応。



5.6.17

投稿日: 2018/04/23

URL: https://laravel-news.com/laravel-5-6-17


  • joinSub等のJOINでサブクエリを使うメソッドの追加

    サブクエリをJOINするとき、これまではjoinメソッドに生のSQLを渡していましたが、クロージャやクエリビルダが使えるようになりました。


  • Rule::in()、Rule::notIn() でCollectionが使えるようになった。

    使えなかったんだ…、という感想。