Зависимости плагинов

В Elgg система зависимостей плагинов существует для предотвращения использования плагинов на несовместимых системах.

Обзор

Система зависимостей управляется через файл elgg-plugin.php плагина или composer.json. Авторы плагинов могут указать, что плагин:

  • Требует определённые плагины Elgg, версию PHP или расширения PHP.

  • Конфликтует с определёнными версиями Elgg или плагинами.

Версия или расширение PHP

Добавьте секцию в ваш composer.json, как описано в Справочнике по Composer JSON

{
        "require": {
                "php": ">8.3",
                "ext-json": "*"
        }
}

Требовать плагин Elgg

Добавьте секцию в elgg-plugin.php, также см. Плагины

return [
        'plugin' => [
                'dependencies' => [
                        // optional list op plugin dependencies
                        'blog' => [], // blog needs to be active
                        'activity' => [
                                'position' => 'after', // in the plugin order this plugin must be after the activity plugin
                                'must_be_active' => false, // but the plugin isn't required to be active, but if active order will be checked
                        ],
                        'file' => [
                                'position' => 'before', // file must be active and this plugin needs to be before the file plugin in the plugin order
                                'version' => '>2', // composer notation of required version constraint
                        ],
                ],
        ],
];

Конфликты

Добавьте секцию в ваш composer.json, как описано в Справочнике по Composer JSON

{
        "conflict": {
                "elgg/elgg": "<4.0",
                "elgg/dataviews": "<1.0 || >= 1.5"
        }
}