1

人々が ZF2 で基本的な CRUD をどのように実装しているか知りたいです。

Doctrine ORM を使用して 1 週間か 2 週間遊んでいますが、最善の解決策は、エンティティ クラスを実装してから、エンティティに一致するフォーム クラスを実装することです。

ZF2 には、RoR と同様に、これらすべてを 1 か所から管理する優れた方法がありませんか? たとえば、エンティティに新しいフィールドを追加する場合、フォーム クラスにも新しいフィールドを追加する必要はありません。単純なフォーム用のフォーム クラスを用意する必要さえありません。

注釈も試してみましたが、多少は機能しましたが、フォーム フィールドが関連エンティティである場合、オブジェクト マネージャーの取得に問題があるようです。これに関するgithubの問題を見つけました。

4

1 に答える 1

2

one-for-all注釈は、ソリューションを持つ唯一の方法です。

個人的には、SoC 原則 (関心の分離) に従うためにコードをかなり分離しています。エンティティ用に 1 つのクラスがあります。フォーム用の別のクラスがあります。InputFilters と Validators を提供するさらに別のクラスと、Factory クラスを使用して、依存関係を持つもの (Doctrine フォーム要素の EntityManager など) をインスタンス化します。

最終的には個人の好みに行き着くと思います。私のアプローチは、注釈を使用するよりも少しきれいだと思います。注釈も、ファイルを解析する必要があるため (エンティティ ビルダーの隣で) 少し遅くなります。そのため、キャッシングを検討する必要があります。

于 2012-11-24T13:23:12.710 に答える