symfony 序列化看不到 PHP 公共 getter/setter

问题描述

我创建了一个存储列和行的类,这两个都是具有额外数​​据的数组,如下所示:

<?PHP
class Table{
    private array $Columns = array();
    private array $Rows = array();
    public function setColumn(Columns $c)
    {
        array_push($this->Columns,$c);
    }
    public function getColumn(): array
    {
        return $this->Columns;
    }
    public function setRow(Rows $c)
    {
        array_push($this->Rows,$c);
    }
    public function getRow(): array
    {
        return $this->Rows;
    }
}
class Columns{
   public string $Someinfo;
   public function setSomeinfo(string $c)
    {
        $this->Someinfo= $c;
    }
    public function getSomeinfo(): int
    {
        return $this->Someinfo;
    }
}
class Rows{
   public string $Someinfo;
      public function setSomeinfo(string $c)
    {
        $this->Someinfo= $c;
    }
    public function getSomeinfo(): int
    {
        return $this->Someinfo;
    }
}
?>

我的 Symfony 序列化器在它公开时看到并使用这个类,但是当我把它变成私有时它突然停止工作。

Symfony 序列化器:

$serializer = new Serializer([new Objectnormalizer()],[new JsonEncoder()]);
        return $serializer->deserialize($data,$table,'json');

我尝试了几乎所有类型的 set、get 和 adders,但没有一个有效或由序列化程序触发。该文档有一些示例,但它们与我在章节中的代码相同:反序列化对象。 https://symfony.com/doc/current/components/serializer.html#component-serializer-attributes-groups

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)