0

wufoo.comにも似たアプリケーションを構築するためのヒントはありますか?ログインしたユーザーが同様の方法でフォームを作成するアプリを構築しています...私が疑問に思っているのは、zend、symfony、またはyiiがこれに最も適しているかどうかです。

他の人が見やすくするためのヒントをここに集めます。

これに役立つ可能性のあるフレームワークの利点:

  • symfonyには教義があります(しかし、フォームはスクリプトを実行することによってデプロイされますか?)
  • Zendにはそのフォームとサブフォームの統合があります(そしておそらく統合の教義は可能ですか?)
  • Zendにはform_decoratorsがありますが、学習するための高いしきい値があります。
  • yiiにはフォームビルダーと優れたPDOデータベース接続があります

または、「オンザフライでのフォーム生成」を簡素化する他のフレームワークはありますか?

PS。djangosソリューションは非常に興味深いものですが、phpである必要があります。

4

4 に答える 4

2

他のフレームワークについてはわかりませんが、Zendフレームワークについては言えます。そのZend_Formクラスは、非常に強力で柔軟性があります。このようなプロジェクトには非常に適していますが、Zend_Element_Decoratorsには急な学習曲線があります。

Zendを使用すると、Zend_Dbを使用してフォームに関する情報をデータベースに保存し、それを使用してaddElement()関数を使用してZend_Formを構築し、必要な要素を作成します。

確かにこれを使用する方が、独自のフォーム生成をロールアップするよりも優れています。私の知る限り、Zend_DbとZend_Formの間にインターフェースはありませんが、非常に多くのインターフェースを書くことができます。Zendは非常に柔軟性があり、ほとんどやりたいことができます。

たぶん、他のフレームワークの方が私にはわからないので良いでしょう。

于 2010-08-29T23:46:21.527 に答える
2

その場でフォームを生成することに特に特化したものは考えられません。これは主にJavascriptベースのベンチャーのように思われるため、Javascriptベースの重いものも使用することになります。

また、フォームの生成は、フレームワークを使用するほど簡単ではありません。特に、その特定のフレームワークを使用しない人にとってはそうです。多くのフレームワークは、非表示のフィールドを追加したり、フィールドに特定の方法で名前を付けたりします。自分で解決策を考え出すよりも、事前に作成されたフレームワークを使用して一般の人々のために何かを作ろうとすると、頭痛の種になることは間違いありません。

PHPを使用してフォームを生成することに固執している場合は、今のところJavascriptをスキップして、単純なHTTPリクエストで機能するソリューションを考え出し、JSフレームワークを使用してフォームを「動的に」生成することを検討します。 。

于 2010-08-29T23:19:57.597 に答える
1

通常はsymfonyで作業します。これはsymfonyを使用して可能であることを私は知っています。この方法で、その場でフォームを生成できます。Zend Frameworkも同様の方法でこれを行うので、それも適切な選択だと思います。

フレームワークを少し「曲げる」が、symfonyでそれをどのように行うか:

  1. フォーム(名前など)を含むテーブルとフォームフィールド(タイプ、名前、必須)を含むテーブルを作成します
  2. configure()指定されたフォームのフィールドをプルし、フォームフィールドをに動的に追加し$this->widgetSchema、バリデーターをに追加するメソッドを使用してsfFormクラスを作成します$this->validatorSchame
  3. 行け :)

これはフォームフレームワークの目的ではありませんが(このように動的フィールド)、いくつかのプロジェクトで正常に使用できました。

Codaculaによって言及されたJavascriptについて:私は、言及されたJavascriptの使用法の種類を支持する質問には何もないと思います。一部のJavascriptがこれに含まれる 可能性がありますが、私の意見ではそれは質問の一部ではありません。

于 2010-08-30T20:33:05.017 に答える
1

チェックする価値のあるphpで書かれた別のフォームビルダーソリューションはhttp://code.google.com/p/php-form-b​​uilder-class/です。私はこれを私のWeb開発で使用しており、お勧めします。それはよく書かれているようで、プロジェクトを立ち上げて実行するのに多くの時間を節約できました。

于 2010-10-24T00:53:02.307 に答える