Jump to main content Jump to doc navigation

Magic-методы xPDOObject

xPDOObject реализует магические методы __get(), __set() и __isset(), поэтому поля и загруженные связанные объекты доступны как свойства.

Эти методы работают только при включённых соответствующих опциях заполнения объекта данными:

  • xPDO::OPT_HYDRATE_FIELDS — открывает поля как читаемые свойства через __get().
  • xPDO::OPT_HYDRATE_RELATED_OBJECTS — открывает загруженные связанные объекты как читаемые свойства через __get().
  • xPDO::OPT_HYDRATE_ADHOC_FIELDS — открывает поля ad-hoc (не объявленные в модели).

Когда опции отключены, __get() молча возвращает null, а __set() возвращает false — обращение к $object->somefield выглядит рабочим, но ничего не даёт.

Синтаксис

mixed __get (string $name)
boolean __set (string $name, mixed $value)
boolean __isset (string $name)

Пример

$modx->setOption(xPDO::OPT_HYDRATE_FIELDS, true);
$resource = $modx->getObject('modResource', 42);
echo $resource->pagetitle;

Смотрите также

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • JT Skaggs
  • deJaya
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$194 per month—let's make that $500!

Learn more