概要 Controller のテストにおいて、IntegrationTestTrait(IntegrationTestCase)の get / posts といったメソッドを利用する機会は多いと思います。
この「POST や PUT のリクエスト」において、ファイルアップロード処理についてはどのように扱うべきでしょうか?
post()に渡すデータ = リクエストボディとなるデータとは別に、configRequest()によるリクエストコンテキストへのアップロードファイル情報の注入が必要です。
Read more
概要 CakePHP3.7.2がリリースされたので、その内容をチェックしてみます。
3.7.1から2週間半振りののアップデートです.
23個のPR/issueがcloseされており、CSやTypeHint、docなどの軽微な修正に加えてbugfixが盛り込まれています。
Read more
※1人AdventのDay-24です
1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar
概要 CakePHPのRouterには、ある名前のリソースに対してRESTfulなアクセスを簡単に提供する機能 resources() があります。
その内部実装がどのようになっているのか、処理を追ってみました。
Read more
※1人AdventのDay-23です
1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar
概要 ObjectRegistryというものがあります。
CakePHPで内部的にかなり頻繁に利用されているクラスであり、インスタンス管理の根幹を担っていると言っても過言ではありません。
どんな使われ方をされていて、どんな処理をしているのかを見てみました。
Read more
※1人AdventのDay-22です
1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar
概要 friendsofcake/fixturizeは、CakePHPにおける単体テストの実行速度を大幅に改善させるプラグインです。
MySQL互換RDBMSで利用が可能で、導入は簡単です。
実際の利用方法と
Read more
※1人AdventのDay-21です
1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar
概要 CakePHP3のデータベース周りの処理を追っていくと、「ORM」「Database」「Datasource」という、似た名前のレイヤーが存在することに気づきます。
普段は特に意識することのないこれらの違いは、どこにあるのでしょうか。
気になったので調べてみました。
Read more
※1人AdventのDay-19です
1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar
概要 CakePHP3.7.1がリリースされたので、その内容をチェックしてみます。
今回は3.7.x系の初アップデートということもあり、コミュニティにおいて発見されたものを中心としたbugfixが多く見られました。
Read more
※1人AdventのDay-16です
1人advent(CakePHP中心、PHP開発よもやま) Advent Calendar 2018 - Adventar
概要 CakePHP3ではBehaviorを利用することで、Tableクラスにmixinすることができます。また、PHPにはTraitの仕組みがあり、これを利用することで継承を用いずにメソッドやプロパティの再利用を実現することができます。
現時点で考えている、個人的な「どう使い分けるか」というポイントをまとめてみます。
Read more
※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