CakePHP の書き方

この記事は、CakePHP3 Advent Calendar 2016 25日目の記事ではありません。 まとめ Controller/Componentにビジネスロジックを書かない カスタムfindを活用しよう 1テーブル1モデルではなく、場面によってモデルクラスを増やそう Modelless Form / Tableless Modelを活用しよう beforeSave/afterSaveは諸刃の刃 Behaviorにビジネスロジック書くのもあり View層ではView Cell/View Blockを活用しよう CRUDプラグインお勧め この記事を書いた動機 CakePHPにおいてビジネスロジックに該当するものをComponentに書くという記事を見かけるたびに、それはアンチパターンじゃないのと感じている日々。 ビジネスロジックをどこに書くべきか、共通処理をどこに書くべきかというのを、自分の考えを整理する意味でも記事として残しておきたいと思います。 ...

12月 25, 2016 · nojimage

CakePHP3 Modelless Form @ Fukuoka.php vol.17

Fukuoka.php vol.17 にて、CakePHP 3からの新機能「Modelless Form」の紹介をしてきました。 Modelless Formは、これまでのCakePHPに足りていなかったサービスレイヤ、ビジネスロジックを担当するものとして最適の機構だと考えています。 (Component?知らない子ですね… ...

6月 23, 2016 · nojimage

PHPカンファレンス福岡2016 CakePHP3補足

/company/{:company_id}/employee/{:employee_id} それ、Router::resources()のネストでできるよ。 http://book.cakephp.org/3.0/en/development/routing.html#creating-nested-resource-routes Entityのsetter/getter問題 それ、Custom Typesの定義で解決できるよ。 http://book.cakephp.org/3.0/en/orm/database-basics.html#adding-custom-types Modelless Form 今回触れられていないけど、個人的にはこれがCakePHP3で一番の目玉機能。一般的なフォームからの入力処理だけでなく、API経由での入力処理や、_execute中で複数のTable扱ったり色々可能性が拡が(文字数 ...

5月 21, 2016 · nojimage

PHPカンファレンス福岡2016 LT “Codeceptionでテストをしよう”

2016/05/21に福岡での開催は2度目となるPHPカンファレンスに参加しました。 今回、CodeceptionについてLTをさせて頂きました。 5分間という短い時間でしたので簡単な内容ではありますが、発表に使用したスライドを公開します。(15分枠欲しかった… ...

5月 21, 2016 · nojimage