Как изменить команду, выполняемую drush invoke?
При выполнении команды drush features-revert-all
ее можно изменить с помощью hook_drush_command_alter
(&$command
).
Однако во время выполнения он вызывает другую команду:
drush_invoke('features-revert', $features_to_revert);
Кажется, я все еще могу использовать drush_hook_pre_COMMAND
и drush_hook_post_COMMAND
для выполнения некоторых дополнительных проверок.
Однако я хотел бы изменить список аргументов (функций), передаваемых в features-revert
, которые недоступны как часть основной команды.
Есть ли какой-нибудь Крючок , который я могу использовать для достижения это?
1 answers
Drush вызывает крючки команд с помощью функции _drush_invoke_hooks, которая, к сожалению, не предоставляет никаких возможностей для изменения списка аргументов из предварительного или проверяющего крючка. Мы стремимся предоставить более гибкий механизм, который позволил бы это в Drush 9. В настоящее время только команда alter hook может изменять параметры команды. В идеале команды Drush должны вызывать другие команды Drush через drush_invoke_process
; это также будет проходить через команду alter hook. Если команда использует drush_invoke, однако вы застряли, так как drush_invoke
обходит крюк alter.