@@ -56,31 +56,38 @@ public function onKernelRequest(GetResponseEvent $event)
5656 $ listeners [2 ] = null ;
5757 }
5858
59- $ accessListener = null ;
60- $ authenticationListeners = array ();
61-
62- foreach ($ listeners [0 ] as $ listener ) {
63- if ($ listener instanceof AccessListener) {
64- $ accessListener = $ listener ;
65- } else {
66- $ authenticationListeners [] = $ listener ;
67- }
68- }
59+ $ authenticationListeners = $ listeners [0 ];
60+ $ exceptionListener = $ listeners [1 ];
61+ $ logoutListener = $ listeners [2 ];
6962
70- if (null !== $ exceptionListener = $ listeners [ 1 ] ) {
63+ if (null !== $ exceptionListener ) {
7164 $ this ->exceptionListeners [$ event ->getRequest ()] = $ exceptionListener ;
7265 $ exceptionListener ->register ($ this ->dispatcher );
7366 }
7467
75- if (null !== $ logoutListener = $ listeners [2 ]) {
76- $ authenticationListeners [] = $ logoutListener ;
77- }
68+ $ authenticationListeners = function () use ($ authenticationListeners , $ logoutListener ) {
69+ $ accessListener = null ;
7870
79- if (null !== $ accessListener ) {
80- $ authenticationListeners [] = $ accessListener ;
81- }
71+ foreach ($ authenticationListeners as $ listener ) {
72+ if ($ listener instanceof AccessListener) {
73+ $ accessListener = $ listener ;
74+
75+ continue ;
76+ }
77+
78+ yield $ listener ;
79+ }
80+
81+ if (null !== $ logoutListener ) {
82+ yield $ logoutListener ;
83+ }
84+
85+ if (null !== $ accessListener ) {
86+ yield $ accessListener ;
87+ }
88+ };
8289
83- $ this ->handleRequest ($ event , $ authenticationListeners );
90+ $ this ->handleRequest ($ event , $ authenticationListeners() );
8491 }
8592
8693 public function onKernelFinishRequest (FinishRequestEvent $ event )
0 commit comments