0
我有一个抽象类,它实现了JsonSerializable
接口。获取抽象类中的对象变量
版本1:
abstract class MyBase implements JsonSerializable
{
public function jsonSerialize()
{
var_dump(get_object_vars($this));
// ...
}
}
class MyClass extends MyBase
{
private $id;
private $name;
}
所以json_encode(new MyClass())
返回一个空数组:
阵列(0){}
版本2:
abstract class MyBase implements JsonSerializable
{
abstract public function jsonSerialize();
}
class MyClass extends MyBase
{
private $id;
private $name;
public function jsonSerialize()
{
var_dump(get_object_vars($this));
// ...
}
}
所以json_encode(new MyClass())
返回类似的数组:
阵列(12){[ “ID”] => INT(1)[ “名称”] =>串(1) “名”}
为什么我的解决方案1不能像我的解决方案2那样工作?
哦,我记得...... – David 2013-05-11 21:16:53