Sto provando ad agganciare gli eventi della console symfony con l'edizione standard di symfony (2.3), ma semplicemente non funzionerà.Come posso ascoltare gli eventi della console in symfony?
ho creato un ascoltatore in base alla loro example e seguire la guides on event registration:
namespace Acme\DemoBundle\EventListener;
use Symfony\Component\Console\Event\ConsoleCommandEvent;
use Symfony\Component\Console\ConsoleEvents;
class AcmeCommandListener
{
public function onConsoleCommand(ConsoleCommandEvent $event) {
// get the output instance
$output = $event->getOutput();
// get the command to be executed
$command = $event->getCommand();
// write something about the command
$output->writeln(sprintf('Before running command <info>%s</info>', $command->getName()));
}
}
e qualcuno sulla mailing list mi ha detto di registrarlo come evento nel contenitore dei servizi. Così ho fatto questo:
services:
kernel.listener.command_dispatch:
class: Acme\DemoBundle\EventListener\AcmeCommandListener
tags:
- { name: kernel.event_listener, event: console.command }
Ma ovviamente l'etichettatura non è corretta e non riesco a trovare i nomi corretti per quello. Come potrei farlo?
Stai utilizzando 'php app/console' o un'applicazione personalizzata? – Touki
Sto usando l'edizione standard di Symfony e voglio aggiungere un evento prima che venga eseguito un comando 'app/console'. Ho già chiesto al gruppo di google di symfony e qualcuno ha detto che devo configurarlo usando un servizio (come ho provato sopra). – acme