Как достать значение с объекта
Помогите, пожалуйста, достать и вывести значение [smtp] с объекта:
Mailgun\Model\Stats\TotalResponse Object
(
[start:Mailgun\Model\Stats\TotalResponse:private] => DateTimeImmutable Object
(
[date] => 2020-04-13 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[end:Mailgun\Model\Stats\TotalResponse:private] => DateTimeImmutable Object
(
[date] => 2020-04-13 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[resolution:Mailgun\Model\Stats\TotalResponse:private] => day
[stats:Mailgun\Model\Stats\TotalResponse:private] => Array
(
[0] => Mailgun\Model\Stats\TotalResponseItem Object
(
[time:Mailgun\Model\Stats\TotalResponseItem:private] => DateTimeImmutable Object
(
[date] => 2020-04-13 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[accepted:Mailgun\Model\Stats\TotalResponseItem:private] => Array
(
)
[delivered:Mailgun\Model\Stats\TotalResponseItem:private] => Array
(
[smtp] => 2
[http] => 0
[optimized] => 0
[total] => 2
)
[failed:Mailgun\Model\Stats\TotalResponseItem:private] => Array
(
)
[complained:Mailgun\Model\Stats\TotalResponseItem:private] => Array
(
)
)
)
)
Ответы (1 шт):
Автор решения: mepihindeveloper
→ Ссылка
В вашем случае простым обращением не получится решить проблему, поскольку stats является приватным свойством. Для получения данных stats вам надо посмотреть как реализован геттер у класса Mailgun\Model\Stats\TotalResponseItem. Если его нет, то внутри вы можете самостоятельно написать его. Примерно так будет выглядеть (самая простая интерпретация):
public function __get($property) {
return $this->$$property;
}
Теперь вы можете обратиться к приватному методу. Чтобы показывались они в выпадающем списке вашего редактора, надо прописать перед классов class ... {} документацию в формате PHPDoc. Для этого можете прочитать про property