программно получить список включенных модулей в Drupal

“drush pm-list of Enabled Modules” — это команда, используемая в Drupal, популярной системе управления контентом. Он используется для вывода списка всех включенных модулей в установке Drupal с использованием Drush, интерфейса командной строки для управления сайтами Drupal.

Вот несколько методов, которые можно использовать для программного получения списка включенных модулей:

  1. Использование команды Drush:

    drush pm-list --type=module --status=enabled

    Эта команда предоставит список включенных модулей вместе с дополнительной информацией, такой как имя, версия и описание модуля.

  2. Использование Drupal API:

    $module_list = \Drupal::moduleHandler()->getModuleList();
    $enabled_modules = array_keys($module_list);

    Этот фрагмент кода извлекает список всех модулей, а затем отфильтровывает включенные модули с помощью метода getModuleList(), предоставляемого службой moduleHandler.

  3. Прямой запрос к базе данных:

    $query = \Drupal::database()->select('key_value_expire');
    $query->fields('key_value_expire', ['name']);
    $query->condition('collection', 'system.schema')->condition('name', 'system.schema');
    $enabled_modules = $query->execute()->fetchCol();

    Этот пример напрямую запрашивает базу данных, чтобы получить имена включенных модулей из таблицы key_value_expire. Обратите внимание, что прямые запросы к базе данных следует использовать с осторожностью и не рекомендуются без необходимости.