Doctrine2,动态生成依赖于symfony2容器的Entity属性的值

时间:2015-04-08 07:27:41

标签: symfony doctrine-orm

我有一个API,其API调用GET /users会返回一个所有avatar_url字段的用户列表

在数据库中,此字段只是图像名称,而在控制器中,然后将我的静态域的基本URL提供给图像。因此,它只能在我的conf中更改一个URL,因此代码可用于登台/制作等。

但是事情开始变得棘手GET /comments等所有人都有需要拥有url的子资源用户,所以这意味着当前使用用户的每一个点都需要有这个逻辑,这不是很干

我想有类似的东西

// in my entity
use JMS\Serializer\Annotation as Serializer;

/**
 * @Serializer\VirtualProperty
 * @Serializer\SerializedName("url")
 */
public function getUrl()
{
    return $this->container->getParameter('IMG_URL').$this->imgName;
}

所以无论我的实体嵌套有多深,我都可以用属性来封装它。

在我看来,有可能实现像捆绑

这样的东西

https://github.com/KnpLabs/DoctrineBehaviors

似乎可以实现类似的东西

1 个答案:

答案 0 :(得分:1)

检查一下。 http://jmsyst.com/libs/serializer/master/handlers 根据我的理解,您可以为url序列化程序创建自己的处理程序。通过将处理程序作为您编写的服务,您可以在其中注入任何内容。

可以在Creating a JMS Serializer handler in symfony2

找到更多信息