Jump to main content Jump to doc navigation

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

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

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

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

Метод addPackage принимает 3 параметра: 'имя', 'путь' и необязательный 'префикс_таблиц'. 'Имя' - это имя пакета модели, а 'путь' - это абсолютный путь к каталогу модели. 'префикс_таблиц' указывает, каким будет префикс для таблиц классов. Если он не указан, будет установлено xPDO соединение по умолчанию. Предположим, у нас уже есть пакет модели xPDO (со всеми картами и классами) в:

/myapp/core/model/boxpackage/

И префикс нашей таблицы - 'myapp_'. Тогда мы передадим первый параметр в качестве имени пакета - в данном случае 'boxpackage' - и путь модели в качестве 2-го параметра:

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

С этого момента любой из наших классов в нашем пакете может быть загружен через методы 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
  • Jens Wittmann – Gestaltung & Entwicklung
  • Fabian Christen
  • Digital Penguin
  • Dannevang Digital
  • Sepia River Studios
  • CrewMark
  • Chris Fickling
  • deJaya
  • Following Sea
  • Anton Tarasov
  • eydolan
  • Raffy
  • Lefthandmedia
  • Murray Wood
  • Snow Creative
  • Nick Clark
  • Helen
  • JT Skaggs
  • krisznet
  • YJ
  • Yanni
  • Richard

Budget

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

Learn more