Jump to main content Jump to doc navigation

Что такое xPDO пакеты?

Пакеты - это коллекции карт и классов, которые представляют таблицы в базе данных. Это слой ORM, обычно хранящийся внутри каталога "model/" в компоненте.

Как они используются?

Пакеты загружаются в xPDO при помощи метода addPackage или методов addExtensionPackage. Метод addPackage подходит для плагинов и сниппетов, которые должны загружать классы и данные таблиц по требованию. addExtensionPackage - это удобный метод, который в конечном итоге опирается на addPackage. Когда пакет добавляется через метод addExtensionPackage, он загружается с каждым MODX запросом; это больше подходит для пакетов, которые изменяют функциональность ядра.

Метод addPackage принимает имя пакета, абсолютный путь к каталогу модели и необязательный префикс таблиц. Если префикс не передать, xPDO берёт значение соединения (xPDO::OPT_TABLE_PREFIX), в MODX это префикс сайта. Не передавайте свой префикс таблиц, если таблицы пакета не должны жить отдельно от префикса MODX. Жёсткий третий аргумент переопределяет префикс MODX и ломает установки со сменённым table_prefix (см. xPDO.addPackage).

Допустим, пакет модели xPDO (карты и классы) лежит здесь:

/myapp/core/model/boxpackage/

Загрузите его с префиксом соединения:

$xpdo->addPackage('boxpackage', '/myapp/core/model/');

Дальше классы пакета можно брать методами выборки xPDO.

Выводы

Теперь, когда вы загрузили пакет, вы можете захотеть взглянуть на creating objects, или добавление строк в ваши таблицы при помощи xPDO.

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

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
  • deJaya
  • JT Skaggs
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

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

Learn more