第82回 PHP勉強会にいってきた

タイトルの通りPHP勉強会に参加してきました。
スライドは、多分 こっちから共有されるはず。
今日はcakephp3の話でいろいろ収穫があったのでその辺を。。

cakephpのドンの安藤さんは世界飛び回ってるらしいです。

ちょいちょいと引用があったのはスペインで開かれたcakefesのお話で非常に興味深い話でした。
cakephpはアメリカ、インド、スペイン、日本、ブラジルの順でアクセスが多いらしい。
symfonyは英語にドキュメントが偏っている気がするし、それに比べれば確かに多様性がある。

時代はlaravel?みたいに言われているけど、cakephp史上最高に今のcakephpは活発だそう。
cakephp3のプロジェクトは6000コミット20コミッターは確かに多い。

symfony2に追いついたcakephp3

cakephp3もcomposerで、symgonyに追いついた。
ormもオブジェクトでsymfonyに追いついた。
ちなみにcakephp3のdocはすでにあるそうです。素晴らしい。しかも昨日cakephp3 beta2が出たところ、というホットなタイミングでした。

cakephp3はあくまで、いままでのcakephpの進化系

lithiumとは違う。cake3はあくまで、リファクタリング。
テストが今までのものを利用している。

これは、既存のプロジェクトでどんどん技術的負債の返済をしていかなければならないプロジェクトも学ぶところが多いので、
cakephpコミュニティのコミュニケーションは一度追ってみたいなあと思いました。必ずや学ぶことがあるはずかと思います。

doctorineを使わなかった理由は別に内製志向というわけではない

doctorineをつかわなかった理由は、ユーザエクスピエリエンス重視。
doctorineのドキュメントとcakephpのドキュメントは全然読み方が違う。確かに。
それにymlやアノテーションなど、cakephpでは使わない文化も多い。
ユーザへの負担を減らすために、cakephpはORMを内製した。

cake3のormは将来切り離す考えもあるらしい。
RDB以外は扱わない。
xmlとかymlとか使う必要のないORMを使うと。
fuelでも使われてる?kohanaのやつとかでもよかったのになとか思ったけど。どうなんでしょうね。

doctorineとはdataMapperパターンとAcriveRecordパターンでそもそもの設計思想が違うよね、と。
より軽量な開発はcakephpの方が使いやすそうな気がします。一応テストもしっかりとしてるし。

modelがオブジェクトになったことで、遅延ロードができるようになった。
なんか当たり前のことのようにも思えたけどもwww
プロパティを指定したときに、イテレータでプロパティに実行されるので、ごりごりactiveレコードパターン。
パフォーマンス的にはまだ全てが2より早いわけではないけど、遅くもないようです。

なんでもかんでも、内製思想ではない。
実際に色々と使ってる。i18nは外部化。hashも。
例えばmigrationやscafoldなんかはpulugin化されるのだと。

その他

ロングメンテナンスは安心です。確かに。
cake2系も3年以上はメンテする。
cake1.3は3のリリースで終了。マイクロソフトより長い!

cake3でphpのメジャーバージョンアップにも対応していくらしい
5.5とか5.6とかにやっていく。

PSRにはまだ対応してない。autoloadはcomposerで対応してるようですが。
cakephp自体は別にその辺うるさくないコーディング規約だったはずですしね。
公式リリースの前に一気にcs-fixer掛けられる可能性もありますね。phpstormもかなり普及してますゆえ。