この記事は CakePHP Advent Calendar 2018 19日目の記事です。

普段利用しているプロジェクトで「こんなことした」ということが書けたらよかったのですが、 最近はあまりCakePHPプロジェクトに関われなかったため CakePHPコアと関連リポジトリへ今年コミットした内容 を書きます。

この記事の狙い

「自分もPR出してみよう」と思ってくださる方が増えることです。
特にドキュメントは「書いてあることと違う」となってしまうとフレームワークに対する不信感にもなってしまうので。

私は自分が好んで使っているフレームワークだったこともあり、「自分の対応が他の人の役に立てば良いな」と思って参加しています。

今年やったこと

cakephp/cakephp

CakePHPコアです。
以前こちらで自分のPRが初めてマージされたことを書きました。
今年は1件でしたが以下修正を行いました。

コントローラのテストを書いていた際「assertResponseEqualsがあるのにassertResponseNotEqualsはないんか」って思ったことがきっかけでした。
PR作成時に「なんで定義されてないん?」って聞いてますけど特に回答無くマージされていました(特に理由はなかったのかもしれませんね)。

本来リリースされなかったであろう3.7のbeta1に含まれています。

cakephp/bake

CakePHPプロジェクトを利用する人にはおなじみのCLIツールで、コントローラ・モデル・テストコードなどを自動生成してくれます。
こちらにも1件PRを出し、無事マージされました。

3.6 でTableRegistryの静的メソッドが非推奨になったので、これに追従しました。
自分のプロジェクトではこの対応はすべて済ませていたのですが、bakeを使って生成したテストコードにTableRegistry::get()があったため一式対応しました。
実は過去にも 3.4 で非推奨になったものを対応したことがあります。

cakephp/app

プロジェクトのひな形です。
3.5 からCakePHPにも.envが導入されたのですが、ここにAPP_DEFAULT_TIMEZONEを追加しました。

個人的には.envがあるなら環境変数はそこに集約して、app.default.phpapp.phpとしてリポジトリに含めて良いんじゃないかと思っています。

cakephp/docs

Cookbook という CakePHP のドキュメントです。
おもに日本語の誤表記修正ですが、いくつか元の説明やコードがおかしいものもありました。

最後に

来年は4.0がリリースされます(さすがにされると思います)。
ここに書いたPRは今年前半のものばかりなので、来年はもう少しコミットしていきたいと思っています。
また、明らかなバグやコアへの追従などだけではなく、Issueで議論されている内容にも参加できたらいいなと思っています。