从PHP中的JSON查询反序列化类中的类


Deserialize a class within a class from a JSON query in PHP

我有两个这样的类(就像在C#中一样)

public class inside
{
    public string name {get;set;}
    public int id {get;set;}
    public string value {get;set;}
}
public class outside
{
    public inside[] items {get;set;}
}

然后,我对服务器进行查询,并对返回到外部类的JSON值进行反序列化。

有人问我是否可以将其移植到PHP,我想出了

class inside
{
    public $name;
    public $id;
    public $value;
}
class outside
{
    public array $item -> inside;

几乎所有其他内容都来自于从JSON到PHP的反序列化,以及强制转换?

用于外部类反序列化。

毫不奇怪,它实际上对我不起作用(我几年前就不再做PHP了,因为PHP是一种要么全有要么全无的语言,这让我很恼火——如果你看不到什么,那就是出了问题)

我认为最困难的是如何像在C#中那样将内部类链接到外部类?

我建议您将内部类的实例传递到外部类的构造函数中,然后将该实例设置为类的属性:

<?php
class inside
{
    public $name;
    public $id;
    public $value;
}
class outside {
   private $inside;
   public function __construct($inside) {
      $this->inside = $inside;
   }
}
?>

希望我能正确地理解你在寻找什么。如果没有,请告诉我。我对C#并不完全熟悉,所以我可能误解了你想要实现的目标。