1

REST ベースのサービスを提供する symfony アプリがあります。UserBundle と呼ばれるユーザーのログイン/ログアウト/登録アクションを担当するモジュールが 1 つあります。

ユーザーがログに記録するとリソースを提供する(そしてトークンハッシュが提供される)他のバンドルがあります。

リクエストされたすべてのリソースに対して、クライアントは認証が必要なトークンを送り返します。この認証機能を正確にどこに配置しますか? 複数のバンドルに挿入できるサービスである必要があることはわかっていますが、それは独自のバンドルを作成するのが最善であることを意味しますか? 将来必要になる可能性のある追加サービスについてはどうすればよいですか? それぞれのバンドルを作成すると、コード構成がすぐに醜くなります。

任意のヒント?

4

1 に答える 1

2

UserBundle は認証を扱うため、サービスを UserBundle に入れます。

一般的に、私はサービスを最も関連性の高いバンドルに配置するのが好きです。私は通常、限られた数の真に汎用的なサービス、エンティティ、コントローラーなどを集約した「デフォルト」バンドルも持っています。理論的には、デフォルトに入るものはすべて別のプロジェクトで汎用的に使用でき、ほとんどの場合、複数のプロジェクトで必要とされるものです。もう 1 つのバンドル。時折、より具体的でありながら汎用的なバンドル (UserBundle に似ています。. ); これらはリファクタリングされ、それに応じて名前が付けられます。

むかしむかし、私は「モジュール」であると認識したものについて、新しいバンドルを分割していました。しかし最近では、アプリ内のバンドルの数を制限しようとしています。これにより、コードがより明確になり、管理が容易になることがわかりました。特に、特定のモジュールの「境界」に対する私の考えは常に間違っており、コードを移動することになります。さらに、主に 1 つのコア バンドルで作業することで、コードの操作がより簡単になります。

于 2012-05-21T02:50:36.113 に答える