質問: 項目がたくさんある少し手の込んだ入力フォームを作成しています。 新規作成と更新は別ページになっているのでそれぞれで表示させるためにソースコードをコピーしています。 フレームワークにFuelPHPを使用、フォームはfieldsetクラスを使用して作成しているのでコード量は少なく済んでいるとはいえ、ほぼ同じコードが点在するのもどうかと思いますし、修正した時に漏れが発生するおそれがあります。 FuelPHPではフォームを複数ページで使い回すようなことはできるのでしょうか? ※フォームはfieldsetオブジェクトになっているので複数のページから使えたら便利なのですが... 新規作成と更新は同じページ(コントローラーの同じメソッド)にまとめてしまう作りにすることも考えています。 FuelPHPに限らず一般にこのような場合はどうされているのかご意見をいただければと思います。 よろしくお願いします。
回答: 新規と更新に共通する項目を持った共通Fieldsetクラスを作って、 子クラスとして新規のみに存在するもの、更新のみに存在するものを追加定義すれば良さそうですが、 単にFieldsetクラスを返す共通関数にするのが簡単そうな気がします。 (おそらく新規も更新も、同じコントローラーに持たせるでしょうから。) 自作Validationルールを作っておいて共通化させてしまうのも手かもしれません。