Может кто-нибудь, пожалуйста, дайте мне знать, как расширить существующий класс команд 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}