所以,我有一个结构类似于下面的对象,所有这些都作为stdClass
对象返回给我
$person->contact->phone;
$person->contact->email;
$person->contact->address->line_1;
$person->contact->address->line_2;
$person->dob->day;
$person->dob->month;
$person->dob->year;
$album->name;
$album->image->height;
$album->image->width;
$album->artist->name;
$album->artist->id;
等等......(注意这些例子没有链接在一起)。
是否可以使用变量变量contact->phone
作为直接属性调用$person
?
例如:
$property = 'contact->phone';
echo $person->$property;
这不会按原样工作并抛出 aE_NOTICE
所以我正在尝试制定一种替代方法来实现这一点。
有任何想法吗?
针对与代理方法相关的答案:
除了这个对象来自一个库之外,我会使用它来使用数组映射填充一个新对象,如下所示:
array(
'contactPhone' => 'contact->phone',
'contactEmail' => 'contact->email'
);
然后遍历地图以填充新对象。我想我可以代替映射器...