小编Vyc*_*rya的帖子

Symfony实体的PHP 7类型声明

在PHP 7中,如果提供的参数具有非预期类型,则可以使用类型声明引发异常。可以将其仅用于允许symfony实体吗?

/**
 * @param User|MyOtherEntity $entity
 */
public function serialize(TYPEHINTFORENTITY $entity)
{
    $json = json_decode($this->serializer->serialize(
        $entity,
        'json'
    ), true);

    return $json;
}

public function deserialize($json, string $class): TYPEHINTFORENTITY
{
    $entity = $this->serializer->deserialize(
        json_encode($json),
        'MyBundle\Entity\' . $class,
        'json',
        DeserializationContext::create()->setGroups(
            array('group')
        )
    );

    return $entity;
}
Run Code Online (Sandbox Code Playgroud)

如果我使用相同的功能来序列化不同的实体,则无法使用

public function serialize(User $entity)
Run Code Online (Sandbox Code Playgroud)

因为那将不允许MyOtherEntity的实体进行序列化。

php symfony

1
推荐指数
1
解决办法
154
查看次数

标签 统计

php ×1

symfony ×1