gpt4 book ai didi

symfony - Doctrine MappedSuperClass,覆盖自定义注解

转载 作者:行者123 更新时间:2023-12-01 06:09:32 25 4
gpt4 key购买 nike

我想知道是否有办法在继承 MappedSuperClass 的子类中更改(或定义内部)注释,例如,假设我们有一个类 BaseUser(mappedsuperclass),一个子类 User :

<?php
...
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as Serializer;
...


/**
* @ORM\MappedSuperclass
*/
class BaseUser
{
/**
* @ORM\Column(name="firstname", type="string", length=100)
* @Serializer\SerializedName("First_Name")
* @Serializer\Expose
* @Serializer\Type("string")
* @Serializer\Groups({"Basic"})
*/
protected $firstName;
}

/**
* @ORM\Entity
*/
class User extends BaseUser
{
/**
* @ORM\Column(name="sign", type="string", length=50)
*/
private $sign;
}

我想做的是直接从 User 类定义“Serializer”注释(但让属性 firstName 在 BaseUser 类中定义),或者覆盖 User 类中的 Serialize 定义。

我没有找到有关此主题的任何内容,有人已经弄清楚了吗?谢谢

最佳答案

您可以告诉 JMS Serializer 在您的配置中公开或不公开什么。

应用程序/配置/config.yml:

jms_serializer:
metadata:
directories:
- { path: %kernel.root_dir%/Resources/FOSUserBundle/serializer, namespace_prefix: 'FOS\UserBundle' }

应用程序/资源/FOSUserBundle/serializer/Model.User.yml:
FOS\UserBundle\Model\User:
exclusion_policy: ALL
properties:
id:
expose: true
email:
expose: true
username:
expose: true
enabled:
expose: true
locked:
expose: true

来源: https://github.com/schmittjoh/JMSSerializerBundle/issues/78#issuecomment-31831236

关于symfony - Doctrine MappedSuperClass,覆盖自定义注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34251267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com