Я использую библиотеку php-xapi / client, чтобы получить все операторы, хранящиеся в LRS.
Код:
$results = $statementsApiClient->getStatements();
Ссылка на документ:
https://github.com/php-xapi/client/blob/master/doc/statements.md
Возвращает объект StatementResult. Но я не могу получить доступ к его частной собственности. Ничто не упоминается в их документе.
Ниже вывод:
Xabbuh\XApi\Model\StatementResult Object
(
[statements:Xabbuh\XApi\Model\StatementResult:private] => Array
(
[0] => Xabbuh\XApi\Model\Statement Object
(
[id:Xabbuh\XApi\Model\Statement:private] => Xabbuh\XApi\Model\StatementId Object
(
[uuid:Xabbuh\XApi\Model\StatementId:private] => Rhumsaa\Uuid\Uuid Object
(
[fields:protected] => Array
(
[time_low] => e994a27f
[time_mid] => cbfe
[time_hi_and_version] => 4272
[clock_seq_hi_and_reserved] => bf
[clock_seq_low] => d7
[node] => 147d334723b3
)
)
)
[verb:Xabbuh\XApi\Model\Statement:private] => Xabbuh\XApi\Model\Verb Object
(
[id:Xabbuh\XApi\Model\Verb:private] => Xabbuh\XApi\Model\IRI Object
(
[value:Xabbuh\XApi\Model\IRI:private] => http://adlnet.gov/expapi/verbs/experienced
)
[display:Xabbuh\XApi\Model\Verb:private] => Xabbuh\XApi\Model\LanguageMap Object
(
[map:Xabbuh\XApi\Model\LanguageMap:private] => Array
(
[en-US] => experienced
)
)
)
[actor:Xabbuh\XApi\Model\Statement:private] => Xabbuh\XApi\Model\Agent Object
(
[iri:Xabbuh\XApi\Model\Actor:private] => Xabbuh\XApi\Model\InverseFunctionalIdentifier Object
(
[mbox:Xabbuh\XApi\Model\InverseFunctionalIdentifier:private] => Xabbuh\XApi\Model\IRI Object
(
[value:Xabbuh\XApi\Model\IRI:private] => mailto:[email protected]
)
[mboxSha1Sum:Xabbuh\XApi\Model\InverseFunctionalIdentifier:private] =>
[openId:Xabbuh\XApi\Model\InverseFunctionalIdentifier:private] =>
[account:Xabbuh\XApi\Model\InverseFunctionalIdentifier:private] =>
)
[name:Xabbuh\XApi\Model\Actor:private] => Chinmay
)
[object:Xabbuh\XApi\Model\Statement:private] => Xabbuh\XApi\Model\Activity Object
(
[id:Xabbuh\XApi\Model\Activity:private] => Xabbuh\XApi\Model\IRI Object
(
[value:Xabbuh\XApi\Model\IRI:private] => http:///68DFljpCPci
)
[definition:Xabbuh\XApi\Model\Activity:private] => Xabbuh\XApi\Model\Definition Object
(
[name:Xabbuh\XApi\Model\Definition:private] => Xabbuh\XApi\Model\LanguageMap Object
(
[map:Xabbuh\XApi\Model\LanguageMap:private] => Array
(
[und] => Video Slide 1
)
)
[description:Xabbuh\XApi\Model\Definition:private] => Xabbuh\XApi\Model\LanguageMap Object
(
[map:Xabbuh\XApi\Model\LanguageMap:private] => Array
(
[und] => Video Slide 1
)
)
[type:Xabbuh\XApi\Model\Definition:private] => Xabbuh\XApi\Model\IRI Object
(
[value:Xabbuh\XApi\Model\IRI:private] => http://adlnet.gov/expapi/activities/module
)
[moreInfo:Xabbuh\XApi\Model\Definition:private] =>
[extensions:Xabbuh\XApi\Model\Definition:private] =>
)
)
[result:Xabbuh\XApi\Model\Statement:private] =>
[authority:Xabbuh\XApi\Model\Statement:private] => Xabbuh\XApi\Model\Agent Object
(
[iri:Xabbuh\XApi\Model\Actor:private] => Xabbuh\XApi\Model\InverseFunctionalIdentifier Object
(
[mbox:Xabbuh\XApi\Model\InverseFunctionalIdentifier:private] => Xabbuh\XApi\Model\IRI Object
(
[value:Xabbuh\XApi\Model\IRI:private] => mailto:[email protected]
)
[mboxSha1Sum:Xabbuh\XApi\Model\InverseFunctionalIdentifier:private] =>
[openId:Xabbuh\XApi\Model\InverseFunctionalIdentifier:private] =>
[account:Xabbuh\XApi\Model\InverseFunctionalIdentifier:private] =>
)
[name:Xabbuh\XApi\Model\Actor:private] => New Client
)
[created:Xabbuh\XApi\Model\Statement:private] => DateTime Object
(
[date] => 2018-04-11 06:46:15.231000
[timezone_type] => 2
[timezone] => Z
)
[stored:Xabbuh\XApi\Model\Statement:private] => DateTime Object
(
[date] => 2018-04-11 06:46:14.746000
[timezone_type] => 2
[timezone] => Z
)
[context:Xabbuh\XApi\Model\Statement:private] => Xabbuh\XApi\Model\Context Object
(
[registration:Xabbuh\XApi\Model\Context:private] =>
[instructor:Xabbuh\XApi\Model\Context:private] =>
[team:Xabbuh\XApi\Model\Context:private] =>
[contextActivities:Xabbuh\XApi\Model\Context:private] => Xabbuh\XApi\Model\ContextActivities Object
(
[parentActivities:Xabbuh\XApi\Model\ContextActivities:private] => Array
(
[0] => Xabbuh\XApi\Model\Activity Object
(
[id:Xabbuh\XApi\Model\Activity:private] => Xabbuh\XApi\Model\IRI Object
(
[value:Xabbuh\XApi\Model\IRI:private] => http://
)
[definition:Xabbuh\XApi\Model\Activity:private] =>
)
)
[groupingActivities:Xabbuh\XApi\Model\ContextActivities:private] => Array
(
[0] => Xabbuh\XApi\Model\Activity Object
(
[id:Xabbuh\XApi\Model\Activity:private] => Xabbuh\XApi\Model\IRI Object
(
[value:Xabbuh\XApi\Model\IRI:private] => http://
)
[definition:Xabbuh\XApi\Model\Activity:private] =>
)
)
[categoryActivities:Xabbuh\XApi\Model\ContextActivities:private] =>
[otherActivities:Xabbuh\XApi\Model\ContextActivities:private] =>
)
[revision:Xabbuh\XApi\Model\Context:private] =>
[platform:Xabbuh\XApi\Model\Context:private] =>
[language:Xabbuh\XApi\Model\Context:private] =>
[statement:Xabbuh\XApi\Model\Context:private] =>
[extensions:Xabbuh\XApi\Model\Context:private] =>
)
[attachments:Xabbuh\XApi\Model\Statement:private] =>
)
)
[moreUrlPath:Xabbuh\XApi\Model\StatementResult:private] => Xabbuh\XApi\Model\IRL Object
(
[value:Xabbuh\XApi\Model\IRL:private] =>
)
)
Как я могу получить доступ к свойствам Id, Actor и Verb вышеуказанного объекта StatementResult?
Любая помощь будет высоко ценится.
StatementResult
Объект не содержит этих свойств, он содержит список операторов, где каждый из этих объектов будет содержать эти свойства. Вам нужно будет позвонить $statements = $results->getStatements();
чтобы получить массив объектов Statement, а затем получить доступ к этим свойствам (id, actor и т. д.) через Statement
интерфейс класса. Отдельные классы моделей определены в отдельном репо, см. https://github.com/php-xapi/model/tree/master/src.
Других решений пока нет …