Laravel PR 流し読み(2021/07/24)
まずはこれ。
[9.x] TrimString can now remove NBSP by allowing · Pull Request #38117 · laravel/framework · GitHub
リクエストのNBSPを自動的にトリムできるようにしてくれるようです。ただし9.xからなので8.x系を利用している間は恩恵をうけることはできなさそうです。
下記で対応できるって内容になっているのですが、軽く調べて見た感じどこ見てもお内容な処理しているところが見つからなかったので大丈夫なのか気になるところ。
trim($value, " \t\n\r\0\x0B")
一応php.netの参考例はリンク貼っとく
// UTF encodes it as chr(0xC2).chr(0xA0)
$converted = trim($converted,chr(0xC2).chr(0xA0)); // should work
マージ済みはこれで終わりなんだけど、昨日マージされてたやつci落ちてるやつマージされてたのでci通ってなくてもマージできるんだなーという学びがあった。
Laravel PR 流し読み(2021/07/23)
まずはこれ。
PruneCommandのmodelsメソッドの返り値の PHPDocs の修正です。
array → Collection
つぎはこれ。
メッセージをわかりやすく出力するようになりました。
つぎはこれ。
expiresパラメータをつけて、署名されたURLを生成すると有効期限が破壊されるようです。サーバ側で発行するのでおかしなことをしていなければ問題ないと思いますが、いい変更だと思います。バグじゃないって言ってる人いるけどどういう意味だったのかよくわからない。6.xにマージした内容なので8.xに入るのだろうか?今見た感じ入ってなさそうだった。どのタイミングで取り込まれるのだろう?
framework/UrlGenerator.php at 8.x · sebdesign/framework · GitHub
つぎはこれ。
Password Validator にカスタムメッセージとカスタム属性が追加されたようです。正直使い所がよくわかってなかったので調べた。
[8.x] Adds password rule by nunomaduro · Pull Request #36960 · laravel/framework · GitHub
4月頃にこのPRで追加されたやつでした。下記のようなことができるみたいで割と便利そう。
$request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => ['required', 'confirmed', Password::min(8) ->mixedCase() ->letters() ->numbers() ->symbols() ->uncompromised(), ], ]);
つぎはこれ。
ngrokとかを利用しているときに Laravel Mix の URLを プロキシ先のものに変更できるENV が追加されたようです。shopifyの開発してるときに便利って書いてあった。
Laravel PR 流し読み(2021/07/22)
マージされたPRはなかった。
クローズされた中で気になったやつを見ておく。
eloquentにヘルパークラスを作成しようとしていたみたいです。今はマージする気がないみたいでパッケージとして提供したらどう的な雰囲気を感じた。ただ主張してる内容的にパッケージにすることはないと思う。
Laravel PR 流し読み(2021/07/21)
まずはこれ。
Schema定義のときにプライマリーキーではなくユニーク成約になっていたようです。
つぎはこれ。
Laravel PR 流し読み(2021/07/19) - toganaのブログで記載したバリデーションのとこで array_merge してるところ getRules に含まれているので不要だったって修正です。
つぎはこれ。
PHPUnit 7.x のサポートが終わっているのでチェックしなくて良くなったロジックが残っていたので削除したようです。
つぎはこれ。
コレクションの shift と pop が引数を与えることで複数の値を取得できるようになりました。ドキュメントに関しては別のPRで記載するとのことなので明日紹介できそうです。
Laravel PR 流し読み(2021/07/20)
まずはこれ。
whenHas と whenFilled にデフォルト値を設定できるようになったようです。
つぎはこれ。
[8.x] Fix PHPDocs of query builder by Kolyunya · Pull Request #38061 · laravel/framework · GitHub
以前のPRで追加されたPHPDocsの修正です。
つぎはこれ。
テストの関係上?コードを見る限りCarbonを利用しないように変更したみたいです。しかしなぜか6.x系のみに取り込まれていて8.x系ではCarbonを引き続き利用しているようでした。
framework/Event.php at 8.x · laravel/framework · GitHub
このチェンジは意味がわからないので理解できる方いたら教えていただけると嬉しいです。
つぎはこれ。
[9.x] Update PHP8 string function by shuvroroy · Pull Request #38071 · laravel/framework · GitHub
下記のPRでも出ていたが Laravel 9.x は PHP 7.4系以下を全てサポートしないのでPHP8の書き方にリファクタされました。
Laravel PR 流し読み(2021/07/19)
なるようになるブログのrailsのコミットログを流しよみしてるのよいなと思ったので僕も laravel の PR を雑に読んでいこうかなーと思った。
今日マージされたものを見ていく感じでやっていこうと思う(全部カバーできないかもしれない)。
まずはこれ。
やっていることは単純に isset で存在確認を行うようにしたようです。
下記のリンクで最新の PHP でだけ Warning になることが確認できたのでまあそういう修正。
次はこれ。
actingAs と beメソッドの PHPDoc がおかしいというものだったようです。
※ 今書いてる途中で Revert された。
コメントを見る限り注釈付きのジェネリックで修正できそう的なことらしい。
larastan の例を上げてくれているがよくわからんかった。知っている人いたらコメントほしい。
次はこれ。
Ver 8.45で追加された機能の修正のようです。
次はこれ。
内容を読んだ感じだとこれの拡張
テスト記載しててよくわからんエラーがでたときにお世話になってた $this->withoutExceptionHandling(); を記載しなくてもわかりやすくなる見たい。
次はこれ。
[8.x] Fix PHPDocs for JSON resources by Kolyunya · Pull Request #38044 · laravel/framework · GitHub
PHPDocs の修正。