Рейтинг:2

как расширить существующий класс команд drush

флаг fr

Может кто-нибудь, пожалуйста, дайте мне знать, как расширить существующий класс команд drush.

Я пишу пользовательский модуль, который предоставляет настраиваемый объект контента и создал плагин для создания разработки, похожий на ContentDevelGenerate.

Он работает, как и ожидалось, для создания фиктивного контента из пользовательского интерфейса. Я также хотел бы создать команду drush для плагина генератора разработки. Похожий на DevelGenerateCommands метод содержимого Я хотел бы добавить дополнительный метод для создания собственного объекта содержимого.

Мой класс команд drush выглядит следующим образом:

<?php

пространство имен Drupal\omdb_api\Commands;

используйте Drupal\devel_generate\Commands\DevelGenerateCommands;

/**
 * Класс для создания drush-команд сущности API omdb.
 */
класс OmdbApiEntityDevelGenerateCommands расширяет DevelGenerateCommands {

  /**
   * Создание элементов сущности API omdb с помощью команды drush.
   *
   * @команда разработки-генерации:omdb-api
   * @aliases dgen:omdb-api, devel-generate-omdb-api
   * @pluginId omdb_api_entity_devel_generate
   * @validate-module-enabled omdb_api
   *
   * @param целое число $num
   * Количество элементов сущности API omdb для создания.
   * @param массив $options
   * Набор опций, как описано ниже.
   *
   * @option kill Удалить все элементы сущности omdb api перед созданием новой сущности omdb api.
   * @option Feedback Целое число, представляющее интервал для регистрации частоты вставки.
   * @option skip-fields Список полей, разделенных запятыми, которые следует пропустить при генерации случайных значений.
   * @option languages ​​Список кодов языков, разделенных запятыми.
   */
  публичная функция omdbApiEntities($num = 50, массив $options = ['kill' => FALSE, 'feedback' => 1000]) {
    $это->сгенерировать();
  }

  /**
   * Оболочка для вызова функции генерации экземпляра плагина.
   */
  публичная функция генерировать () {
    $instance = $this->getPluginInstance();
    $instance->generate($this->getParameters());
  }

}

OmdbApiEntityDevelGenerateCommands Если я вставлю этот метод прямо в DevelGenerateCommands класс, команда работает как положено. Так что, кажется, мне чего-то не хватает, чтобы расширить DevelGenerateCommands учебный класс.

# drush.services.yml
Сервисы:
  omdb_api.devel_generate_commands:
    класс: \Drupal\omdb_api\Commands\OmdbApiEntityDevelGenerateCommands
    теги:
      - {имя: develgenerate.command}
Рейтинг:2
флаг fr

Чтобы решить эту проблему, мне нужно обновить мой drush.services.yml как показано ниже:

Сервисы:
  omdb_api.devel_generate_commands:
    класс: \Drupal\omdb_api\Commands\OmdbApiEntityDevelGenerateCommands
    аргументы: ['@plugin.manager.develgenerate']
    теги:
      - {имя: drush.command}

Ответить или комментировать

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