У меня есть класс пользователя:
class SuluUser extends BaseSuluUser implements SSOUserInterface, ResourceOwnerInterface, EquatableInterface
{
use UserTrait;
use SSOUserTrait {
SSOUserTrait::__construct as __ssoConstruct;
SSOUserTrait::setUserData as setUserDataTrait;
}
// ...
}
Это черты:
trait UserTrait
{
// lot's of other fields
/**
* @var string
* @ORM\Column(type="string")
*/
protected $username = "";
}
И
trait SSOUserTrait
{
// lots of other fields
/**
* @var string
*/
protected $username;
// lots of getters and setters
}
И определение BaseUser:
abstract class BaseUser extends ApiEntity implements UserInterface, Serializable, EquatableInterface
{
/**
* @var string
* @Expose
*/
protected $username;
// lots of other fields
}
Но он работает под php 7.3 в этой фатальной ошибке компиляции:
Неустранимая ошибка: Sulu \ Bundle \ SecurityBundle \ Entity \ BaseUser и MyOrg \ SsoBundle \ Entity \ UserTrait определяют одно и то же свойство ($ username) в составе MyOrgFrontendBundle \ Entity \ SuluUser.
Однако определение отличается и считается несовместимым.
Класс был составлен в sulu / src / MyOrgFrontendBundle / Entity / SuluUser.php в строке 25
Есть какие-нибудь идеи, как это исправить?
Огромное спасибо!