@@ -88,8 +88,12 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
8888 EventSubscriberInterface::class,
8989 ]);
9090
91- if ($ this ->isNeedImportConstantsClass ($ event )) {
91+ // Determine if we use a KernelEvents::CONSTANT or custom even name
92+ if (null !== ($ eventConstant = $ this ->getEventConstant ($ event ))) {
9293 $ useStatements ->addUseStatement (KernelEvents::class);
94+ $ eventName = $ eventConstant ;
95+ } else {
96+ $ eventName = class_exists ($ event ) ? sprintf ('%s::class ' , $ eventClassName ) : sprintf ('\'%s \'' , $ event );
9397 }
9498
9599 if (null !== $ eventFullClassName ) {
@@ -101,7 +105,7 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
101105 'event/Subscriber.tpl.php ' ,
102106 [
103107 'use_statements ' => $ useStatements ,
104- 'event ' => class_exists ( $ event ) ? sprintf ( ' %s::class ' , $ eventClassName ) : $ this -> getEventConstant ( $ event ) ,
108+ 'event ' => $ eventName ,
105109 'event_arg ' => $ eventClassName ? sprintf ('%s $event ' , $ eventClassName ) : '$event ' ,
106110 'method_name ' => class_exists ($ event ) ? Str::asEventMethod ($ eventClassName ) : Str::asEventMethod ($ event ),
107111 ]
@@ -121,30 +125,15 @@ public function configureDependencies(DependencyBuilder $dependencies): void
121125 {
122126 }
123127
124- private function getEventConstant (string $ event ): string
128+ private function getEventConstant (string $ event ): ? string
125129 {
126130 $ constants = $ this ->getKernelEventsConstants ();
127131
128- foreach ($ constants as $ name => $ value ) {
129- if ($ value === $ event ) {
130- return 'KernelEvents:: ' .$ name ;
131- }
132+ if (false !== ($ name = array_search ($ event , $ constants , true ))) {
133+ return sprintf ('KernelEvents::%s ' , $ name );
132134 }
133135
134- return sprintf ('\'%s \'' , $ event );
135- }
136-
137- private function isNeedImportConstantsClass (string $ event ): bool
138- {
139- $ constants = $ this ->getKernelEventsConstants ();
140-
141- foreach ($ constants as $ name => $ value ) {
142- if ($ value === $ event ) {
143- return true ;
144- }
145- }
146-
147- return false ;
136+ return null ;
148137 }
149138
150139 private function getKernelEventsConstants (): array
0 commit comments