2

実際、私は Symfony 2.0 に基づく 5 つの単純なプロジェクトを持っています。各プロジェクトには、Doctrine ORM を使用したユーザー管理があります。

バンドルの中で、Userクラスの違いはほとんどありません。Bundle1は「ビジネス名」属性を追加することができ、Bundle2は「インバウンド通信」関係を追加することができます。しかし、すべてが「salt」、「password」、「username」、「roles」などのよく知られた同じ属性を共有しています。もちろん、ユーザーを検索するためのロジックもあります。

質問は、ユーザー管理を統一するための合理的なアプローチは何ですか? つまり、再利用可能な UserBundle を作成するということです。XML 構成、マップされたスーパー クラス、サービス、エンティティ、およびフォームの継承に関するアドバイスを探しています。

FOSUserBundle を見てきましたが、少し複雑に見えます。私はその論理を完全には理解できません。5 つのバンドルのそれぞれがそれを処理するため、テンプレートとビューは必要ありません。そして、私はそれを自分でコーディングすることを好みます。

4

1 に答える 1

1

FOSUserBundle を見てきましたが、少し複雑に見えます。私はその論理を完全には理解できません。5 つのバンドルのそれぞれがそれを処理するため、テンプレートとビューは必要ありません。そして、私はそれを自分でコーディングすることを好みます。

長所と短所を埋め込んで、自分で質問に答えています。

長所:

  • 再利用可能なコードで開発を高速化

短所:

  • 多くの場合、再利用可能なコードはより一般的であり、問​​題の解決がより複雑になります。

ユーザー管理を含むプロジェクトを頻繁に開発するチームで作業している場合、独自のプロジェクトを作成することは非常に価値があります。

リリースされたバンドルのほとんどは、最初は個人用に開発されました。

Doctrine2 以外で動作しないことがわかっている場合は、モノを抽象化する部分をバイパスして、たとえば MongoDb で動作させることができます。

その場合、同じテクノロジーを使用する同僚によって使用されている間、他の開発者間で共有されることに注意してください。

一人でいる場合は、ニーズに合わせてください。

于 2012-09-14T14:40:06.420 に答える