0
Это работает:Почему я могу получить доступ только к первому защищенному свойству в этом объекте PHP?
public function import_tickets($user = null) {
$tickets = kyTicket::getAll(
kyDepartment::getAll(),
kyTicketStatus::getAll(),
array(),
kyUser::getAll()
);
$reflect = new ReflectionClass($tickets);
$ts = $reflect->getProperty('objects');
$ts->setAccessible(true);
$content = $ts->getValue($tickets);
$output = '';
foreach ($content as $c) {
$output .= $c->id . "\n";
}
print_r($output);
}
ВЫВОД:
[[email protected] External]# php test.php
1
2
3
4
5
6
Я пытаюсь получить доступ к display_id
из следующего объекта:
[4] => kyTicket Object
(
[id:protected] => 5
[flag_type:protected] => 0
[display_id:protected] => RXH-123-45678
[department_id:protected] => 5
[status_id:protected] => 3
[priority_id:protected] => 1
Но когда я делаю, я получаю следующее сообщение об ошибке:
[02-Oct-2014 12:14:29] PHP 3. kyObjectBase->__get($api_field_name = 'display_id') /var/www/html/site/public_html/inc/QA/External/test.php:43
[02-Oct-2014 12:14:29] PHP 4. trigger_error('Undefined property: kyTicket::$display_id', 1024) /var/www/html/site/public_html/inc/QA/External/api-kayako/kyObjectBase.php:573
[02-Oct-2014 12:14:29] PHP Notice: Undefined property: kyTicket::$display_id in /var/www/html/site/public_html/inc/QA/External/api-kayako/kyObjectBase.php on line 573
Почему я могу получить доступ к id
без проблем, но display_id
не будет снята?
Нет вывода, обратите внимание, что объект находится в пределах объекта, который вытягивается w/$ ts = $ reflect-> getProperty ('objects'); – morissette
Хорошо, скорректировав мой ответ ... переместил фрагменты кода в функцию listProperties() и добавил цикл для итерации объектов. –