CakePHP3のViewCellを使ってFormHelperでのForm生成をテンプレートから切り離す
- CakePHP
「どうも、CakePHP3 ビフォワーアフターのお時間です。」個人的にはテンプレートファイルにゴリゴリPHPが記述されているのが好きではなかったりします。そこで今回は、これらFormHelperでのフォーム生成部分を、ViewCell(ビューセル)を使ってテンプレートから切り離したいと思います。
「どうも、CakePHP3 ビフォワーアフターのお時間です。」個人的にはテンプレートファイルにゴリゴリPHPが記述されているのが好きではなかったりします。そこで今回は、これらFormHelperでのフォーム生成部分を、ViewCell(ビューセル)を使ってテンプレートから切り離したいと思います。
CakePHP3には、フォームを作成する際にFormHelperという機能を使うと、フォーム作成が簡単に行えます。直接HTMLのFORMを書かなくても必要な制約をつけた上で生成してくれるので実装漏れも防げて幸せになれます。今回はCakePHP3のFormHelperの入門を行い、その後で、フォームHTMLを独自テンプレートで出力するまでを行います。
Laravelが動作する一連の動作の中に「ミドルウェア」というメカニズムがあります。HTTPリクエストに対してその入口と出口で動作し、認証からバリデーション、コンテンツ置換など様々な処理を行う事のできる。しかし一見表には出てこない影忍者のような万能メカニズムです。今回は、Laravelミドルウェアの入門的なフローの解説もしつつ、せっかくなのでWEBサイトの高速化を行ってみたいと思います。
CakePHPを使ってWEBアプリケーションを構築する際に避けて通れないのが「アソシエーション」という機能です。この機能はモデル自体をつなぐ(関連付ける)事でテーブルのリレーションを簡単に行えるようにするものですが、要するにリレーションです。アソシエーションに関してのイメージ、考え方も含めて使い方を解説します。
CakePHP3のクエリビルダーの記法をここにまとめています。CakePHP3はバージョンによって多少の違いがあります。ここに記載されているのはCakePHP3.5時点での記法です。
MVCの「V」=「View」にあたる画面表示部分の構築を、CakePHP3では「テンプレート」と呼ばれる領域のファイルを作成する事で進めていきますが、いくつもあるビューテンプレートの中の共通部分を切り出し「レイアウト」という領域のファイルにまとめておく事ができます。今回は、テンプレートの基本的な記法とレイアウトを用いてビュー開発を行います。