Я бы не хотел использовать некоторые поля по умолчанию, предоставляемые пакетом User Sonata. Такие как поля facebook, gplus или twitters.Symfony2, Sonata: избавление от ненужных полей в UserBundle
Я расширил SonataUserBundle в приложении \ Sonata \ UserBundle с помощью Easy-Extends.
И создал новый пользовательский объект extenting в BaseUser:
class User extends BaseUser
Я удалил XML доктрину конфигурации, так как я использую аннотацию.
Таким образом, он распознает мои пользовательские поля, такие как «город» и «адрес».
Но у меня есть все поля из BaseUser, как я могу избавиться от ненужных полей?
<?php
namespace Application\Sonata\UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Sonata\UserBundle\Entity\BaseUser as BaseUser;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=64, nullable=false, name="city")
*/
protected $city;
/**
* @ORM\Column(type="string", length=255, nullable=false, name="address")
*/
protected $address;
}
Не расширяйте BaseUser? Внедрить его интерфейс –