extension_packages
Последнее обновление Feb 11th, 2020 | История страницы | Улучшить эту страницу | Сообщить о проблеме
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
$301 per month—let's make that $500!
Learn moreextension_packages¶
- Имя: Пакеты расширений
- Тип: String (JSON-кодированный массив пар ключ-значение)
- По умолчанию: Да
Используйте этот параметр для автозагрузки пакетов, расширяющих базовые классы, например, если вы расширяете modUser. Формат должен быть массивом JSON пар «key/value», где ключ - это пространство имен (то есть имя пакета), а значение - путь к его модели.
Этот эффект здесь аналогичен другим структурам, например, CodeIgniter, который позволяет переопределять базовые классы с помощью специального префикса имени класса "MY_".
Используйте это только тогда, когда вы расширяете основные классы, которые используются во время initialize()
Sample value¶
[
{
"extendeduser": {
"path": "[[++core_path]]components/extendeduser/model/"
}
},
{ "articles": { "path": "[[++core_path]]components/articles/model/" } }
]
Вы можете использовать
[[++core_path]]
плейсхолдеры.
Другой пример¶
Если ваше расширение использует другой префикс таблицы, вы должны указать это в своем JSON, используя tablePrefix ключ, например:
[
{
"extendeduser": {
"path": "[[++core_path]]components/extendeduser/model/",
"tablePrefix": "ext_"
}
},
{ "articles": { "path": "[[++core_path]]components/articles/model/" } }
]
Связанные функции¶
В какой-то момент в истории последних версий addExtensionPackage
и removeExtensionPackage
удобные функции были добавлены для облегчения добавления и удаления данных в настройках extension_packages.
addExtensionPackage¶
boolean addExtensionPackage ([string $pkg = ''], [string $modelpath = ''], [array $options = array()])
Аргумент $pkg
действительно указывает подпапку в названной директории модели. В большинстве пакетов это имя совпадает с пространством имен пакета, но другие пакеты могут указывать несколько подпапок в своей модели. Обратите внимание, что массив $options
может указывать ключ "tablePrefix", например:
$modx->addExtensionPackage('mypkg', '/path/to/core/components/mypkg/model/', array('tablePrefix'=>'mypre_'));
removeExtensionPackage¶
Когда пришло время для очистки, удалите ваш узел из extension_packages массива, используя эту вспомогательную функцию:
boolean removeExtensionPackage (string $pkg = '')
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
$301 per month—let's make that $500!
Learn more