Php 控制台。在特定命令上终止事件
我刚刚发现它在Symfony中存在一个ConsoleEvents::TEMINATE事件。 我想使用它在命令执行后执行一些额外的过程(而不是延迟命令) 但事实上,我希望在特定命令完成时执行某些进程,而不是针对所有命令(因为我认为所有命令都会触发consoleevent.terminate) 我真的不知道怎么做 注意。您可以从Php 控制台。在特定命令上终止事件,php,symfony,events,console,Php,Symfony,Events,Console,我刚刚发现它在Symfony中存在一个ConsoleEvents::TEMINATE事件。 我想使用它在命令执行后执行一些额外的过程(而不是延迟命令) 但事实上,我希望在特定命令完成时执行某些进程,而不是针对所有命令(因为我认为所有命令都会触发consoleevent.terminate) 我真的不知道怎么做 注意。您可以从ConsoleTerminateEvent 这几乎是控制台组件文档中的复制粘贴。使用完整的symfony注册监听器看起来有点不同,但您应该明白这一点 $dispatcher-
ConsoleTerminateEvent
这几乎是控制台组件文档中的复制粘贴。使用完整的symfony注册监听器看起来有点不同,但您应该明白这一点
$dispatcher->addListener(
ConsoleEvents::TERMINATE,
function(ConsoleTerminateEvent $event) {
$command = $event->getCommand();
// if it's not the command you want
if (!$command instanceof YourDesiredCommand) {
return;
}
// put your logic here
}
);