示例#1
0
 function it_should_reload_when_configuration_changed(ContainerInterface $container, ChangeSetEvent $event, EventDispatcherInterface $dispatcher, ConsoleHandler $handler, Logger $logger)
 {
     $container->getParameter('config.file', Argument::any())->shouldBeCalled()->willReturn('phpguard.yml.dist');
     $container->get('logger.handler')->willReturn($handler);
     $container->get('logger')->willReturn($logger);
     $event->getFiles()->willReturn(array('phpguard.yml.dist'));
     $dispatcher->dispatch(ConfigEvents::RELOAD, Argument::any())->shouldBeCalled();
     $dispatcher->dispatch(ApplicationEvents::preEvaluate, Argument::any())->shouldBeCalled();
     $dispatcher->dispatch(ApplicationEvents::evaluate, Argument::any())->shouldBeCalled();
     $dispatcher->dispatch(ApplicationEvents::postEvaluate, Argument::any())->shouldBeCalled();
     $this->listen($event);
 }
示例#2
0
 /**
  * @return array
  */
 public function getFiles()
 {
     return $this->changeSet->getFiles();
 }
示例#3
0
 public function listen(ChangeSetEvent $event)
 {
     $files = $event->getFiles();
     if (empty($files)) {
         return;
     }
     $container = $this->container;
     $dispatcher = $container->get('dispatcher');
     $configFile = $container->getParameter('config.file');
     if (in_array($configFile, $files)) {
         $container->get('logger.handler')->reset();
         $container->get('logger')->addCommon("Reloading Configuration");
         $reloadEvent = new GenericEvent($container);
         $dispatcher->dispatch(ConfigEvents::RELOAD, $reloadEvent);
         $container->get('logger')->addCommon('Configuration Reloaded');
         $container->get('ui.shell')->showPrompt();
     }
     $evaluateEvent = new EvaluateEvent($event);
     $dispatcher->dispatch(ApplicationEvents::preEvaluate, $evaluateEvent);
     $dispatcher->dispatch(ApplicationEvents::evaluate, $evaluateEvent);
     $dispatcher->dispatch(ApplicationEvents::postEvaluate, $evaluateEvent);
 }