CakePHP 3.7.2がリリースされたので更新内容を確認

概要 CakePHP3.7.2がリリースされたので、その内容をチェックしてみます。 3.7.1から2週間半振りののアップデートです. 23個のPR/issueがcloseされており、CSやTypeHint、docなどの軽微な修正に加えてbugfixが盛り込まれています。
Read more

Resource Routing

※1人AdventのDay-24です 1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar 概要 CakePHPのRouterには、ある名前のリソースに対してRESTfulなアクセスを簡単に提供する機能 resources() があります。 その内部実装がどのようになっているのか、処理を追ってみました。
Read more

ObjectRegistryについて

※1人AdventのDay-23です 1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar 概要 ObjectRegistryというものがあります。 CakePHPで内部的にかなり頻繁に利用されているクラスであり、インスタンス管理の根幹を担っていると言っても過言ではありません。 どんな使われ方をされていて、どんな処理をしているのかを見てみました。
Read more

fixturize: テストの実行速度を大幅に改善させるプラグイン

※1人AdventのDay-22です 1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar 概要 friendsofcake/fixturizeは、CakePHPにおける単体テストの実行速度を大幅に改善させるプラグインです。 MySQL互換RDBMSで利用が可能で、導入は簡単です。 実際の利用方法と
Read more

ORM/Database/Datasourceの棲み分け

※1人AdventのDay-21です 1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar 概要 CakePHP3のデータベース周りの処理を追っていくと、「ORM」「Database」「Datasource」という、似た名前のレイヤーが存在することに気づきます。 普段は特に意識することのないこれらの違いは、どこにあるのでしょうか。 気になったので調べてみました。
Read more

CakePHP 3.7.1がリリースされたので更新内容を確認

※1人AdventのDay-19です 1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar 概要 CakePHP3.7.1がリリースされたので、その内容をチェックしてみます。 今回は3.7.x系の初アップデートということもあり、コミュニティにおいて発見されたものを中心としたbugfixが多く見られました。
Read more

Behaviorを使うか、Traitにするか

※1人AdventのDay-16です 1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar 概要 CakePHP3ではBehaviorを利用することで、Tableクラスにmixinすることができます。また、PHPにはTraitの仕組みがあり、これを利用することで継承を用いずにメソッドやプロパティの再利用を実現することができます。 現時点で考えている、個人的な「どう使い分けるか」というポイントをまとめてみます。
Read more

Entityの`$_accessible`について、もう1度。

※1人AdventのDay-14です 1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar 概要 CakePHP3では、データの誤操作を防ぐためEntityの持つプロパティへの代入可否を設定する $_accessible 機構が備わっています。 具体的な利用方法を確認していきたいと思います。
Read more

カスタムファインダーについておさらい

※1人AdventのDay-13です 1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar 概要 CakePHP3で導入された「カスタムファインダー」は、Queryの組み立てを抽象化・パッケージ化する手法です。 よく利用するconditonsの追加やfields、formatResultsなどの手順を一箇所にまとめ、更にメソッドチェーンによるQueryのビルドを可能にします。
Read more

CakePHP 3.7の個人的な見どころ

※1人AdventのDay-9です 1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar 晴れて、CakePHPの3.7がリリースされました。 CakePHP 3.7.0 Released — Bakery ここしばらく、「4へのスムーズな移行をするために」を意識し続けてきたCakePHPコミュニティです。その様子は、別の場所に自分なりの観点でまとめてみています。 今からちょっとだけ先の未来、CakePHP4の話 〜Upcoming CakePHP Roadmap & Releases〜 - コネヒト開発者ブログ CakePHP3.6.0のbeta1が出たのでおさらいしてみる - コネヒト開発者ブログ そして、本来であれば「出さずに済ませたかった」とも言える3.7であり、これが3系のファイナルバージョンとなるはずです。 リリースノートと移行ガイドから、その内容を読み取ってみます。 主観により取捨選択しているので、詳細は原文を参照してください。 CakePHP 3.7.0 Released — Bakery 3.7 Migration Guide - 3.7 CakePHP3.xの最終バージョン This release is the last planned feature release for 3.x. Going forward the core team will be focusing on supporting 3.7 and completing 4.0.0. とされています。
Read more