前回のsymfony1.1使いに役立つかもしれないsfFormについての知識の補足エントリです。 前回のエントリに対してはてなブックマークにて以下のような意見をいただきました。
自動生成なら propel:build-form がやってくれるし、それで対応できないフォームは sfForm の派生クラスでガリガリ書いちゃえるし。。。
後者のベースになるものを作るって理解で良いのだろうか。現状必要ないが覚えておく。
引用元
この点について、前回のエントリで不足していた「sfFormtasticPluginをどう使うのか」という部分に触れてみます。
前に示した例は見やすさの都合もあり最も簡単な例を書きましたが、実際はもっと複雑なものもYAMLに書くことができます。前回のエントリを書いた後に追加されたexample.ymlを見ると、ある程度わかるかと思います。そして重要なのは「YAMLからsfFormの派生クラスを生成する」という部分です。これにより、以下のような使い方が考えられます。
- sfFormの派生クラスをYAMLで書く(基本)
- YAMLでBase****Formというクラスを生成し、生成したクラスの派生クラスを作り複雑なロジックをPHPで追加する
- propel:build-formで生成されたFormクラスの派生クラスをYAMLで書き、YAMLでvalidateのルールを追加する
propel:build-formで生成されるのは基本的なフォームの定義で、validateの処理を加えようと思うとやはりPHPで書く必要が出てきます。追加するであろうルールの全てをsfFormtasticPluginでまかなう事は難しいですが、8割でもYAMLで書ければ、コーディングの負荷を減らせるのではないでしょうか。
POSTED BY Tsukimiya ON 8 月 10th, 2008. PERMALINK

