Poate cineva să-mi spună, vă rog, cum să extind clasa de comandă drush existentă.
Scriu un modul personalizat care oferă o entitate de conținut personalizat și a creat un plugin de generare de dezvoltare similar cu ContentDevelGenerate.
Funcționează conform așteptărilor pentru a genera conținut fals din interfața de utilizare . Aș dori să creez și o comandă drush pentru pluginul generator de dezvoltare. Similar cu DevelGenerateCommands metoda de conținut Aș dori să adaug o metodă suplimentară pentru a genera entitatea de conținut personalizată.
Clasa mea de comandă drush după cum urmează:
<?php
spațiu de nume Drupal\omdb_api\Commands;
utilizați Drupal\devel_generate\Commands\DevelGenerateCommands;
/**
* Clasă pentru a crea comenzi omdb entitate API Drush.
*/
clasa OmdbApiEntityDevelGenerateCommands extinde DevelGenerateCommands {
/**
* Creați elemente de entitate API omdb prin comanda drush.
*
* @command devel-generate:omdb-api
* @aliases dgen:omdb-api, devel-generate-omdb-api
* @pluginId omdb_api_entity_devel_generate
* @validate-module-enabled omdb_api
*
* @param int $num
* Numărul de elemente de entitate API omdb de generat.
* @param array $opțiuni
* Gamă de opțiuni așa cum este descris mai jos.
*
* @option kill Ștergeți toate elementele entității api omdb înainte de a genera o nouă entitate api omdb.
* @option feedback Un număr întreg care reprezintă intervalul pentru înregistrarea ratei de inserare.
* @option skip-fields O listă de câmpuri delimitată prin virgulă de omis atunci când se generează valori aleatorii.
* @option languages O listă de coduri de limbă separate prin virgulă
*/
funcția publică omdbApiEntities($num = 50, matrice $opțiuni = ['kill' => FALSE, 'feedback' => 1000]) {
$this->generate();
}
/**
* Wrapper pentru apelarea funcției de generare a instanțelor de plugin.
*/
function public generate() {
$instanta = $this->getPluginInstance();
$instanță->generate($this->getParameters());
}
}
OmdbApiEntityDevelGenerateCommands Dacă lipesc această metodă direct în DevelGenerateCommands clasa, comanda funcționează conform așteptărilor. Deci se pare că îmi lipsește ceva pentru a extinde DevelGenerateCommands clasă.
# drush.services.yml
Servicii:
omdb_api.devel_generate_commands:
clasa: \Drupal\omdb_api\Commands\OmdbApiEntityDevelGenerateCommands
Etichete:
- { nume: develgenerate.command }