PHPで記述されたwebアプリケーションフレームワーク。 Ruby on Railsの影響を受けている。 1.x系に対応するPHPのバージョンは4または5。 2.x系はPHP5への最適化を図るため、PHP4への対応が打ち切られるとともに、例外処理、テスト、命名規則など大幅な改修がなされた。 2013年1月15日現在の最新版は2.2.4、対応するPHPのバージョンは5.2.8以上である。
2025年4月時点での話。book.cakephp.org上記の公式URLにBake拡張したクラスに対してのユニットテスト生成の説明が記載されているが、これは誤っているような気がする。 結局、やることはSimpleBakeCommandのbakeTest()をオーバーライドするだけなのだが少しハマったので備忘録として。Bake拡張用のファイルは作成済みという前提にしている。 ここでは src/Command/Bake/ServiceCommand.php を改修するものとする。 以下のページも参考に petit-code.hatenablog.jp 環境 PHP8.2 CakePHP5.1.6…
Bake拡張した際にテンプレートファイルであるTwigに渡せるのはnameしかない。 それ以外のパラメータを使用したい場合はtemplateData()メソッドを使用する。Bake拡張用のファイルは作成済みという前提にしている。 ここでは src/Command/Bake/ServiceCommand.php を改修するものとする。 Bake拡張に関しては以下のページを参考に。 petit-code.hatenablog.jp 環境 PHP8.2 CakePHP5.1.6 templateData()の作成 ./bin/cake bake service example_detailsというコ…
ここで書いている拡張とは、ControllerやModel以外のソースコード雛形を作成できるようにすることを指している。 例としてServiceクラスを拡張するものとする。 CakePHP4まではSimpleBakeTaskを使用していたが、CakePHP5からはSimpleBakeCommandを使うようになったらしい。 環境 PHP8.2 CakePHP5.1.6 作成するファイル 以下の2ファイルが必要になる。 src/Command/Bake/ServiceCommand.php templates/bake/service.twig Serviceというクラスになっているのは前述の通…
コンソールコマンドからキャッシュクリアが実行できる。 ./bin/cake cache clear_all 余談になるが、自分は上記のコマンドをCodePipelieデプロイ時のフック用シェルに含めている。
コンソールコマンドを実行することで確認可能。 ./bin/cake version vendor/cakephp/cakephp/VERSION.txtにも同じバージョンが記載されている。
Controllerでテンプレートを指定します。 これだと、元のテンプレートディレクトリを削除すると、たどれなくなって、エラーになりました。 $this->viewBuilder()->setTemplate('../CommonData/index'); setTemplatePathとsetTemplateに分けると、うまくいきました。 $this->viewBuilder()->setTemplatePath('Admin/CommonData')->setTemplate('index');
別システムからテーブル定義を移植します。 migrationファイルを手書きするのは大変です。 dumpファイルから作成したいと思います。 テーブルのインポート前に、lockファイルを、最新状態にします https://book.cakephp.org/migrations/3/ja/index.html#schema-lock docker compose exec php bin/cake migrations dump dumpファイルからテーブルをインポート migrationファイルを作成 docker compose exec php ./bin/cake bake migrati…
こんにちは、MLBお兄さんこと松村です。 前回の記事で30-60 (30HR&60盗塁)を記録したと紹介したRonald Acuña Jr 選手ですが、なんと40-70 (40HR&70盗塁)を達成しました。本当に素晴らしい成績です。 2023年9月10日に CakePHP 5 がリリースされました。約4年ぶりのメジャーバージョンアップとなります。 cakephp.org CakePHP は好きなフレームワークの1つでもあり、これを Azure Web App にデプロイする手順を整理したので記事にまとめます。 サンプルアプリの準備 まずはデプロイするための CakePHP アプリケーションを…
はじめに 今「あすけん」は大きなチャレンジをしています。 中長期的なサービスの成長を見据えて、アーキテクチャの見直しとシステムの再設計を行っています。 この再設計の一環として、PHPで構築された既存システムをKotlinを用いた新システムに置き換えるという大きな決断をしました。 さらに、より保守性の高いシステムを目指して、新しい手法も試しています。 具体的には「RDRA」「ICONIX」「ドメイン駆動設計」の考え方を取り入れて再設計を行っています。 今はまだ技術検証の段階ですが、一部の機能の分析・モデリングを行ってコードに落とし込んでいます。 課題も毎日のように見つかっています。しかし、日々解…
弊社で毎月開催し、PHPエンジニアの間でご好評をいただいているPHP TechCafe。 2022年11月のイベントでは「PHPフレームワーク」について語り合いました。 弊社メンバーがピックアップしたPHPの代表的なフレームワーク4種について、以下のShowNoteをベースに、参加者の皆様のご意見も伺いながら学んでいきました。今回はその内容についてレポートします。 rakus.connpass.com hackmd.io フレームワークとは 代表的なPHPフレームワーク Laravel Symfony CakePHP Slim 機能比較 ルーティング Laravel Symfony CakeP…