当前位置: 首页 > 知识库问答 >
问题:

php7.3:具有定义相同属性的两个特征的编译错误

东方高洁
2023-03-14

我有这个用户类:

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 = "";
}

以及:

php prettyprint-override">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 \ security Bundle \ Entity \ base user和MyOrg \ SSO Bundle \ Entity \ user trait在MyOrgFrontendBundle \ Entity \ Sulu user的组合中定义了相同的属性($username)。然而,定义不同,被认为是不兼容的。类是在第25行的Sulu/src/MyOrgFrontendBundle/Entity/Sulu user . PHP中编写的

有什么办法解决这个问题吗?

非常感谢!

共有1个答案

孟晨朗
2023-03-14

您只需更新其中一个特征,使属性与另一个特征匹配。

例如,更改UserTrait

protected $username;

代替

protected $username = "";

或者反过来做,但这两种特质必须匹配。

 类似资料:
  • 问题内容: 我正在尝试使用RSA 7.5和Websphere 7服务器开发IBM JAX_WS Web服务。因为我是一个初学者,所以我遵循Java类优先方法,即首先创建Java类,然后生成WSDL文件。 当我尝试创建wsdl文件时,出现异常: java.security.PrivilegedActionException:com.sun.xml.internal.bind.v2.runtime.I

  • 问题内容: 我正在用C#编写.NET Framework 3.5。 我正在尝试将某些Json解析为JObject。 Json如下: 当我尝试将此Json解析为JObject时,JObject仅了解LargeBox。SmallBox和MedBox的信息丢失。显然,这是因为它将“ TBox”解释为一个属性,并且该属性已被覆盖。 我从Delphi编码的服务中收到此Json。我正在尝试为该服务创建C#代理

  • 假设您有2个包,并且有名为-Test的公共类。 第一个包。测试 第二包测试 它们中的每一个都有实例变量-x。 在第一种情况下-int x=2; 在第二种情况下-int x=3; 我想导入FirstPackage。在第二个包内测试。测试并打印值为2的x。 我的代码: 但是输出是3。如何打印?

  • 问题内容: 给定两个协议及其扩展名: 并尝试使它们都符合: 我收到编译时错误: 类型“ SomeClass”不符合协议“ FirstDelegate” 交换和: 产生反向: 类型“ SomeClass”不符合协议“ SecondDelegate” 删除扩展之一可以解决此问题。同上为内部提供实现。 这个协议扩展功能对我来说还很新。此外,目前苹果官方的“快速编程指南(预发行版)”中有关此信息的信息很少

  • 问题内容: 我正在考虑编写可产生具有重复属性的HTML标签的代码,如下所示: 这是合法的HTML吗?-值之一优先于另一个吗?我可以依靠半现代的浏览器(IE> = 9)来解析它而不会窒息吗? 还是我要在这里做一些真正愚蠢的事情? 问题答案: 在一个元素中两次具有相同的属性名称是无效的。对此的权威性参考有些复杂,因为旧的HTML版本名义上是基于SGML,而对SGML标准的规范性引用暗含了这种限制。在H

  • 我正在尝试使用RSA 7.5和Websphere 7服务器开发IBM JAX_WS web服务。因为我是初学者,所以我遵循Java类优先的方法,即首先创建Java类,然后生成WSDL文件。 当我尝试创建wsdl文件时,我得到一个异常: JAVA安全PrivilegedActionException:com。太阳xml。内部的绑定v2。运行时。IllegalAnnotationsException: