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.

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