2013-08-26 22 views
0

我有两个类这样的(因为它是在C#)反序列化类中的一类从JSON查询在PHP

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; 

与几乎一切从Deserializing from JSON into PHP, with casting?

未来的课外反序列化。

没有真正的惊喜,因为它实际上并不适用于我(我在多年前停止了PHP的工作,因为它让我非常恼火,PHP是一种全语言或无语言 - 如果您没有看到某种东西,是错误的)

我认为的绊脚石是如何将内部类连接到外部类,就像我在C#中一样?

+0

PHP没有变量类型,也没有“通用”数组。您不能将变量声明为“内部对象的数组”。你只需要使它成为一个数组,并且记住它包含'inside'对象。 –

+0

谢谢。在这种情况下,我只需要在公共数组$ items => new里面? – Nodoid

+0

你只需要'public $ items = array()'。然后,在编程时,必须记住只在里面放置“内部”对象。 –

回答

0

我建议你在里面类的实例传递到外部类的构造函数,然后设置实例类的属性:

<?php 
class inside 
{ 
    public $name; 
    public $id; 
    public $value; 
} 

class outside { 
    private $inside; 

    public function __construct($inside) { 
     $this->inside = $inside; 
    } 
} 
?> 

希望我理解你”重新找正确。如果没有,请让我知道。我对C#并不完全熟悉,所以我可能会误解你想要完成的任务。