Code Duplication    Length = 24-29 lines in 5 locations

src/Eccube/Application.php 5 locations

@@ 647-675 (lines=29) @@
644
        });
645
646
        // Request Event
647
        $this->on(\Symfony\Component\HttpKernel\KernelEvents::REQUEST, function(\Symfony\Component\HttpKernel\Event\GetResponseEvent $event) use ($app) {
648
649
            if (\Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType()) {
650
                return;
651
            }
652
653
            $route = $event->getRequest()->attributes->get('_route');
654
655
            if (is_null($route)) {
656
                return;
657
            }
658
659
            $app['monolog']->debug('KernelEvents::REQUEST '.$route);
660
661
            // 全体
662
            $app['eccube.event.dispatcher']->dispatch('eccube.event.app.request', $event);
663
664
            if (strpos('admin', $route) === 0) {
665
                // 管理画面
666
                $app['eccube.event.dispatcher']->dispatch('eccube.event.admin.request', $event);
667
            } else {
668
                // フロント画面
669
                $app['eccube.event.dispatcher']->dispatch('eccube.event.front.request', $event);
670
            }
671
672
            // ルーティング単位
673
            $app['eccube.event.dispatcher']->dispatch("eccube.event.route.{$route}.request", $event);
674
675
        }, 30); // Routing(32)が解決しし, 認証判定(8)が実行される前のタイミング.
676
677
        // Controller Event
678
        $this->on(\Symfony\Component\HttpKernel\KernelEvents::CONTROLLER, function(\Symfony\Component\HttpKernel\Event\FilterControllerEvent $event) use ($app) {
@@ 678-706 (lines=29) @@
675
        }, 30); // Routing(32)が解決しし, 認証判定(8)が実行される前のタイミング.
676
677
        // Controller Event
678
        $this->on(\Symfony\Component\HttpKernel\KernelEvents::CONTROLLER, function(\Symfony\Component\HttpKernel\Event\FilterControllerEvent $event) use ($app) {
679
680
            if (\Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType()) {
681
                return;
682
            }
683
684
685
            $route = $event->getRequest()->attributes->get('_route');
686
687
            if (is_null($route)) {
688
                return;
689
            }
690
691
            $app['monolog']->debug('KernelEvents::CONTROLLER '.$route);
692
693
            // 全体
694
            $app['eccube.event.dispatcher']->dispatch('eccube.event.app.controller', $event);
695
696
            if (strpos('admin', $route) === 0) {
697
                // 管理画面
698
                $app['eccube.event.dispatcher']->dispatch('eccube.event.admin.controller', $event);
699
            } else {
700
                // フロント画面
701
                $app['eccube.event.dispatcher']->dispatch('eccube.event.front.controller', $event);
702
            }
703
704
            // ルーティング単位
705
            $app['eccube.event.dispatcher']->dispatch("eccube.event.route.{$route}.controller", $event);
706
        });
707
708
        // Response Event
709
        $this->on(\Symfony\Component\HttpKernel\KernelEvents::RESPONSE, function(\Symfony\Component\HttpKernel\Event\FilterResponseEvent $event) use ($app) {
@@ 709-736 (lines=28) @@
706
        });
707
708
        // Response Event
709
        $this->on(\Symfony\Component\HttpKernel\KernelEvents::RESPONSE, function(\Symfony\Component\HttpKernel\Event\FilterResponseEvent $event) use ($app) {
710
711
            if (\Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType()) {
712
                return;
713
            }
714
715
            $route = $event->getRequest()->attributes->get('_route');
716
717
            if (is_null($route)) {
718
                return;
719
            }
720
721
            $app['monolog']->debug('KernelEvents::RESPONSE '.$route);
722
723
            // ルーティング単位
724
            $app['eccube.event.dispatcher']->dispatch("eccube.event.route.{$route}.response", $event);
725
726
            if (strpos('admin', $route) === 0) {
727
                // 管理画面
728
                $app['eccube.event.dispatcher']->dispatch('eccube.event.admin.response', $event);
729
            } else {
730
                // フロント画面
731
                $app['eccube.event.dispatcher']->dispatch('eccube.event.front.response', $event);
732
            }
733
734
            // 全体
735
            $app['eccube.event.dispatcher']->dispatch('eccube.event.app.response', $event);
736
        });
737
738
        // Exception Event
739
        $this->on(\Symfony\Component\HttpKernel\KernelEvents::EXCEPTION, function(\Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent $event) use ($app) {
@@ 739-766 (lines=28) @@
736
        });
737
738
        // Exception Event
739
        $this->on(\Symfony\Component\HttpKernel\KernelEvents::EXCEPTION, function(\Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent $event) use ($app) {
740
741
            if (\Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType()) {
742
                return;
743
            }
744
745
            $route = $event->getRequest()->attributes->get('_route');
746
747
            if (is_null($route)) {
748
                return;
749
            }
750
751
            $app['monolog']->debug('KernelEvents::EXCEPTION '.$route);
752
753
            // ルーティング単位
754
            $app['eccube.event.dispatcher']->dispatch("eccube.event.route.{$route}.exception", $event);
755
756
            if (strpos('admin', $route) === 0) {
757
                // 管理画面
758
                $app['eccube.event.dispatcher']->dispatch('eccube.event.admin.exception', $event);
759
            } else {
760
                // フロント画面
761
                $app['eccube.event.dispatcher']->dispatch('eccube.event.front.exception', $event);
762
            }
763
764
            // 全体
765
            $app['eccube.event.dispatcher']->dispatch('eccube.event.app.exception', $event);
766
        });
767
768
        // Terminate Event
769
        $this->on(\Symfony\Component\HttpKernel\KernelEvents::TERMINATE, function(\Symfony\Component\HttpKernel\Event\PostResponseEvent $event) use ($app) {
@@ 769-792 (lines=24) @@
766
        });
767
768
        // Terminate Event
769
        $this->on(\Symfony\Component\HttpKernel\KernelEvents::TERMINATE, function(\Symfony\Component\HttpKernel\Event\PostResponseEvent $event) use ($app) {
770
771
            $route = $event->getRequest()->attributes->get('_route');
772
773
            if (is_null($route)) {
774
                return;
775
            }
776
777
            $app['monolog']->debug('KernelEvents::TERMINATE '.$route);
778
779
            // ルーティング単位
780
            $app['eccube.event.dispatcher']->dispatch("eccube.event.route.{$route}.terminate", $event);
781
782
            if (strpos('admin', $route) === 0) {
783
                // 管理画面
784
                $app['eccube.event.dispatcher']->dispatch('eccube.event.admin.terminate', $event);
785
            } else {
786
                // フロント画面
787
                $app['eccube.event.dispatcher']->dispatch('eccube.event.front.terminate', $event);
788
            }
789
790
            // 全体
791
            $app['eccube.event.dispatcher']->dispatch('eccube.event.app.terminate', $event);
792
        });
793
    }
794
795
    public function loadPlugin()