Symfony2 で作業し、ベンダー ライブラリを組み込む最適な方法を見つけようとしています。ベンダー ライブラリ メソッドの呼び出しは、ルーティング構成を使用して非常に簡単です:use
適切なnamespace
を生成し、クラス名、呼び出すメソッド、およびいくつかのパス コンポーネントとクエリ変数からの引数を生成すると、ほら、すぐに統合できます。
しかし、私はフォームに問題があります。私の目標はとても簡単なはずです。Symfony2 でベンダー クラスからフォームを作成したいと考えています。具体的な例として、google-api-php-client を考えてみましょう。->createForm()
ORM とバリデーションにうまく橋渡しされているため、これが最もうまく機能するように思われます。MyBundle\Form\ThingType
ただし、ファイルとクラスに依存しています。このクラスを作成するには、バンドル内にエンティティが必要です。ベンダー ライブラリの既存の「エンティティ」をそのまま使用することはできません (またはその方法を理解できませんでした)。API用語に「モデル」がすでに存在する場合にSymfony命名法で「エンティティ」を作成することは、柔軟性がなく、非常に乾燥していないようです
私が仕事をするようになったもう1つの方法は、
$formBuilder = $this->createFormBuilder(new GoogleApi\Contrib\Event);
それから
foreach(get_object_vars($event) as $prop) { $formBuilder->add($prop); }
しかし、これは、API ドキュメントと組み込みの検証ツールとの間の一見既製のブリッジを利用していません。また、クラスのコレクションを含めるかどうかを決定するために、個々のデータ型を個別または配列として宣言する必要があることも意味します。ベースのフォームまたは単一のクラスベースのフォーム。
要するに、API で利用可能なプロパティと dataType 情報を使用し、必要に応じて、このようなリソース表現を使用して、クラスのネストされた自己検証フォームを作成するための単純な関数 (呼び出し関数など) を作成したいと考えています。 Google API で。ライブラリに既に書かれているものを単純に書き換える「エンティティ」と「フォームタイプ」の束を作成せずに、これを達成したいと考えています。