我对物体不太好,所以我想知道是否有人可以帮助我。
我想要回显这个对象的数据,前一个级别也被归类为受保护,我已经解决了这个问题,但我似乎无法从内部的新对象中提取任何内容。
获取对象的原始代码:
$addrProp = $reflObj->getProperty('images');
$addrProp->setAccessible(true);
echo("<strong>Images:</strong>");
var_dump($addrProp->getValue($property));
输出:
array(17) {
["474sp1190714.jpg?APIKEY=homefromhome&hash=31b3f7b1b377184e8cb8fb64d434a11a4c3446c1091535ef6db4e119689a6372"]=>
object(tabs\api\property\Image)#350 (7) {
["filename":protected]=>
string(106) "474sp1190714.jpg?APIKEY=homefromhome&hash=31b3f7b1b377184e8cb8fb64d434a11a4c3446c1091535ef6db4e119689a6372"
["title":protected]=>
string(8) "P1190714"
["alt":protected]=>
string(0) ""
["url":protected]=>
string(74) "http://hh.api.carltonsoftware.co.uk/image/normal/1000x750/474sp1190714.jpg"
["height":protected]=>
int(750)
["width":protected]=>
int(1000)
["apiPath":protected]=>
string(35) "http://hh.api.carltonsoftware.co.uk"
}
["474sp1190718.jpg?APIKEY=homefromhome&hash=31b3f7b1b377184e8cb8fb64d434a11a4c3446c1091535ef6db4e119689a6372"]=>
object(tabs\api\property\Image)#351 (7) {
["filename":protected]=>
string(106) "474sp1190718.jpg?APIKEY=homefromhome&hash=31b3f7b1b377184e8cb8fb64d434a11a4c3446c1091535ef6db4e119689a6372"
["title":protected]=>
string(8) "P1190718"
["alt":protected]=>
string(0) ""
["url":protected]=>
string(74) "http://hh.api.carltonsoftware.co.uk/image/normal/1000x750/474sp1190718.jpg"
["height":protected]=>
int(750)
["width":protected]=>
int(1000)
["apiPath":protected]=>
string(35) "http://hh.api.carltonsoftware.co.uk"
}
任何单个输出(foreach或其他)的例子都很棒。谢谢!
答案 0 :(得分:0)
如果属性受到保护,那么这意味着您无法公开访问它们。您需要创建自己的公众&#39; getter&#39;和“塞特犬”。例如,在您的&#39;标签\ api \ properties \ Image&#39;您可以执行以下操作:
// Because this is within the object, it has scope of the protected properties.
public function getTitle() {
return $this->title;
}
然后你可以在对象上调用getTitle()来返回title属性中包含的字符串。
PHP网站上的这个页面可能对您有所帮助: http://php.net/manual/en/language.oop5.visibility.php