1

私は以前に FosUser バンドルを持っていましたが、今日は SonataUserBundle をインストールしました。--dump-sql を実行すると、Symfony は 4 つの新しいテーブルをインストールしようとします。

fos_user_user
fos_user_group
for_user_user_group
notification_message

最初の 3 つは、私が関係を設定した既存の ...Entity\User クラスを使用して管理者が既に動作しているため、混乱を招きます。

namespace Rent\ProgramBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
* @ORM\Table(name="tbl_user")
*/
class User extends BaseUser
...

これら 3 つのテーブルがインストールされる理由と、それを防ぐ方法は? それらがなくても管理セクションが機能するため、それらの用途はありますか。

4

1 に答える 1

1

デフォルトでは、SonataAdminBundle にはユーザー管理機能はありませんが、アプリケーションでそのような機能が必要になる可能性が最も高いです。Sonata プロジェクトには、FOSUserBundle を統合する SonataUserBundle が含まれています。

FOSUserBundle は、Symfony2 でデータベースを利用したユーザー システムのサポートを追加します。ユーザーのログイン、登録、パスワードの取得などの一般的なタスクを処理することを目的とした、ユーザー管理のための柔軟なフレームワークを提供します。

SonataUserBundle は、FOSUserBundle を AdminBundle に含めるための薄いラッパーです。SonataUserBundle には以下が含まれます。

  • デフォルトのログインエリア
  • 現在のユーザーとログアウト リンクを表示するために使用されるデフォルトの user_block テンプレート
  • 2 つの管理者クラス: ユーザーとグループ
  • ユーザーとグループのデフォルト クラス。

SonataAdminBundle にはちょっとした魔法があります。バンドルが SonataUserBundle クラスを検出すると、デフォルトの user_block テンプレートが変更され、SonataUserBundle によって提供されるテンプレートが使用されます。

このドキュメントをご覧ください。お役に立てば幸いです。

于 2013-06-22T22:41:02.273 に答える