Ai đó có thể vui lòng cho tôi biết cách mở rộng lớp lệnh drush hiện có không.
Tôi đang viết một mô-đun tùy chỉnh cung cấp thực thể nội dung tùy chỉnh và tạo một plugin tạo phát triển tương tự như Phát triển nội dungTạo.
Nó đang hoạt động như mong đợi để tạo nội dung giả từ giao diện người dùng. Tôi cũng muốn tạo một lệnh drush cho plugin trình tạo devel. tương tự như DevelGenerateLệnh Tôi muốn thêm phương thức bổ sung để tạo thực thể nội dung tùy chỉnh của mình.
Lớp lệnh drush của tôi như sau:
<?php
không gian tên Drupal\omdb_api\Commands;
sử dụng Drupal\devel_generate\Commands\DevelGenerateCommands;
/**
* Lớp tạo các lệnh drush thực thể omdb api.
*/
lớp OmdbApiEntityDevelGenerateCommands extends DevelGenerateCommands {
/**
* Tạo các mục thực thể api omdb bằng lệnh drush.
*
* @command devel-tạo:omdb-api
* @aliases dgen:omdb-api, devel-generate-omdb-api
* @pluginId omdb_api_entity_devel_generate
* @ omdb_api đã kích hoạt mô-đun hợp lệ
*
* @param int $num
* Số mục thực thể api omdb cần tạo.
* @param mảng $options
* Mảng tùy chọn như mô tả bên dưới.
*
* @option kill Xóa tất cả các mục thực thể api omdb trước khi tạo thực thể api omdb mới.
* @option feedback Một số nguyên đại diện cho khoảng thời gian ghi nhật ký tốc độ chèn.
* @option bỏ qua trường Danh sách các trường được phân cách bằng dấu phẩy để bỏ qua khi tạo các giá trị ngẫu nhiên.
* Ngôn ngữ @option Danh sách mã ngôn ngữ được phân tách bằng dấu phẩy
*/
public function omdbApiEntities($num = 50, array $options = ['kill' => FALSE, 'feedback' => 1000]) {
$this->tạo();
}
/**
* Trình bao bọc để gọi chức năng tạo phiên bản plugin.
*/
chức năng công cộng tạo() {
$instance = $this->getPluginInstance();
$instance->generate($this->getParameters());
}
}
OmdbApiEntityDevelGenerateCommands Nếu tôi dán phương pháp này trực tiếp vào DevelGenerateLệnh class, lệnh đang hoạt động như mong đợi. Vì vậy, có vẻ như tôi đang thiếu một cái gì đó để mở rộng DevelGenerateLệnh lớp.
# drush.services.yml
dịch vụ:
omdb_api.devel_generate_commands:
lớp: \Drupal\omdb_api\Commands\OmdbApiEntityDevelGenerateCommands
thẻ:
- {tên: develgenerate.command}