Как изменить команду, выполняемую 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, которые недоступны как часть основной команды.

Есть ли какой-нибудь Крючок , который я могу использовать для достижения это?

Author: kenorb, 2016-04-21

1 answers

Drush вызывает крючки команд с помощью функции _drush_invoke_hooks, которая, к сожалению, не предоставляет никаких возможностей для изменения списка аргументов из предварительного или проверяющего крючка. Мы стремимся предоставить более гибкий механизм, который позволил бы это в Drush 9. В настоящее время только команда alter hook может изменять параметры команды. В идеале команды Drush должны вызывать другие команды Drush через drush_invoke_process; это также будет проходить через команду alter hook. Если команда использует drush_invoke, однако вы застряли, так как drush_invoke обходит крюк alter.

 1
Author: greg_1_anderson, 2016-04-21 17:41:57