达到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对象子元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

根据子元素将CSS样式应用于元素[重复]

无法根据子元素的高度设置元素的高度[重复]

缩放弹性容器中的子元素[重复]

在 iphone 应用程序上解析 JSON 对象和子元素

从 XElement 获取子元素 [重复]

子元素的边距[重复]