modX.addExtensionPackage
Последнее обновление not available | История страницы | Улучшить эту страницу | Сообщить о проблеме
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
Budget
$194 per month—let's make that $500!
Learn moremodX::addExtensionPackage¶
Записывает запись о пакете в системную настройку extension_packages, создавая её заранее, если настройки ещё нет. Сохранённое значение — JSON-массив: каждая запись связывает имя пакета с его опциями, а путь хранится в ключе path.
Пакет загружается при следующей инициализации, а не в текущем запросе: сначала нужно обновить кэш настроек. Далее initialize() читает настройку, подставляет токены вроде [[++core_path]] и вызывает xPDO::addPackage().
Классы пакета становятся доступны loadClass(), newObject() и getTableName(). serviceName и serviceClass уходят в xPDO::getService(), который сам помечен устаревшим в пользу контейнера сервисов.
Ядро пометило хранение в настройке устаревшим в 2.3 — его заменяют записи modExtensionPackage. Код по-прежнему объявляет удаление, которое так и не случилось, поэтому настройка в этой версии продолжает работать.
Синтаксис¶
boolean addExtensionPackage (string $name, string $path, [array $options = array()])
-
$name(string) имя пакета, используется как ключ записи -
$path(string) каталог с моделью пакета -
$options(array) значенияtablePrefix,serviceNameиserviceClass, по умолчаниюarray()
Пример¶
$modx->addExtensionPackage('mypkg', MODX_CORE_PATH . 'components/mypkg/model/', array(
'tablePrefix' => 'mypkg_',
));
Смотрите также¶
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
Budget
$194 per month—let's make that $500!
Learn more










