예제 #1
0
 public function onApplicationInitialize(GenericEvent $event)
 {
     $container = $event->getContainer();
     if ($container->getParameter('application.initialized', false)) {
         return;
     }
     $logger = $container->get('logger');
     $logger->addDebug('Loading plugins');
     $prefixes = array_merge($this->prefixesPsr4);
     foreach ($prefixes as $ns => $dir) {
         $pluginPrefix = 'PhpGuard\\Plugins';
         $ns = rtrim($ns, '\\');
         if (false !== strpos($ns, $pluginPrefix)) {
             $parts = explode('\\', $ns);
             $lastPart = array_pop($parts);
             $class = $ns . '\\' . $lastPart . 'Plugin';
             $this->loadPlugin($container, $class);
         }
     }
     $container->setShared('linters.php', function ($c) {
         $linter = new PhpLinter();
         $linter->setContainer($c);
         return $linter;
     });
 }
예제 #2
0
 function it_should_not_load_plugin_when_application_initialized(ContainerInterface $container, GenericEvent $event)
 {
     $event->getContainer()->willReturn($container);
     $container->getParameter('application.initialized', false)->willReturn(true);
     $container->setShared(Argument::any(), Argument::any())->shouldNotBeCalled();
     $this->onApplicationInitialize($event);
 }
 function let(ContainerInterface $container, PluginInterface $plugin, AdapterInterface $adapter, Listener $listener, ConsoleHandler $handler, Logger $logger, GenericEvent $event, InputInterface $input)
 {
     if (is_null(static::$cwd)) {
         static::$cwd = getcwd();
     }
     Filesystem::create()->mkdir(static::$tmpDir);
     $container->getByPrefix('plugins')->willReturn(array($plugin));
     $container->getParameter(Argument::any(), Argument::any())->willReturn(null);
     $container->setParameter(Argument::any(), Argument::any())->willReturn(null);
     $container->get('listen.listener')->willReturn($listener);
     $container->get('listen.adapter')->willReturn($adapter);
     $container->get('logger.handler')->willReturn($handler);
     $container->get('logger')->willReturn($logger);
     $event->getContainer()->willReturn($container);
     $container->get('ui.input')->willReturn($input);
     $this->setContainer($container);
 }
예제 #4
0
 public function started(GenericEvent $event)
 {
     $this->setupListen($event->getContainer());
 }
예제 #5
0
 public function load(GenericEvent $event, $eventName, EventDispatcherInterface $dispatcher)
 {
     $container = $event->getContainer();
     $config = $container->get('config');
     $dispatcher->dispatch(ConfigEvents::PRELOAD, $event);
     $compiled = $config->compileFile($container->getParameter('config.file'));
     $container->setParameter('config.compiled', $compiled);
     $dispatcher->dispatch(ConfigEvents::POSTLOAD, $event);
     $container->get('logger')->addDebug('Configuration loaded');
 }
예제 #6
0
 function let(GenericEvent $event, ContainerInterface $container, Logger $logger)
 {
     $container->get('logger')->willReturn($logger);
     $event->getContainer()->willReturn($container);
 }