达到PHP对象子元素[重复]
Posted
技术标签:
【中文标题】达到PHP对象子元素[重复]【英文标题】:Reaching PHP Object sub elements [duplicate] 【发布时间】:2020-01-16 12:42:33 【问题描述】:您好,我有一个来自外包的响应对象,我需要访问该对象的子元素。
这是我的回复:
object(Iyzipay\Model\Payment)#13 (32)
["price":"Iyzipay\Model\PaymentResource":private]=>
NULL
["paidPrice":"Iyzipay\Model\PaymentResource":private]=>
NULL
["locale":"Iyzipay\IyzipayResource":private]=>
string(2) "tr"
["systemTime":"Iyzipay\IyzipayResource":private]=>
int(1568548407994)
["conversationId":"Iyzipay\IyzipayResource":private]=>
string(13) "***_46_25"
["rawResult":"Iyzipay\ApiResource":private]=>
string(156) ""status":"failure","errorCode":"12","errorMessage":"Kart numarası geçersizdir","locale":"tr","systemTime":1568548407994,"conversationId":"***_46_25""
这里是php代码:
$payment = \Iyzipay\Model\Payment::create($request, Config::options());
我必须到达 $payment->rawResult
或 $payment->price
等元素。
但是我尝试了很多方法来达到它,但没有办法。可能我不知道关于对象的触及问题。有没有人知道?
我将使用 make subobject 作为变量来解释响应。我也试图从这个对象制作数组,但也没有办法。
【问题讨论】:
【参考方案1】:这些属性是私有的,因此不能从类外部直接访问。但是,Iyzipay\Model\Payment
类扩展了其他类,这些类扩展了更多类。跟着代码,发现大部分属性都有getter。
要获取您提到的两个属性,请使用:
$price = $payment->getPrice();
$rawResult = $payment->getRawResult();
您可以在手册中阅读有关属性和方法可见性的更多信息:https://www.php.net/manual/en/language.oop5.visibility.php
【讨论】:
以上是关于达到PHP对象子元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章