@@ -28,7 +28,7 @@ public function generate(SpecObjectInterface $specObject): void
2828 $ routeMiddleware = $ route ->{'x-lg-middleware ' } ?? null ;
2929 $ routeWithoutMiddleware = $ route ->{'x-lg-without-middleware ' } ?? null ;
3030 if ($ handler ) {
31- $ handler = $ this ->getControllerInfoFromHandler ( $ controllerNamespaces , $ handler );
31+ $ handler = $ this ->formatHandler ( $ handler , $ controllerNamespaces );
3232
3333 $ routesStrings .= "Route:: {$ method }(' {$ this ->trimPath ($ path )}', {$ handler }) " ;
3434 $ routesStrings .= $ routeName ? "->name(' {$ routeName }') " : "" ;
@@ -56,31 +56,24 @@ public function generate(SpecObjectInterface $specObject): void
5656 );
5757 }
5858
59- private function getControllerInfoFromHandler ( array & $ controllerNamespaces , string $ handler ): string
59+ private function formatHandler ( string $ handler , array & $ controllerNamespaces ): string
6060 {
6161 $ parsedRouteHandler = $ this ->routeHandlerParser ->parse ($ handler );
62- $ class = $ parsedRouteHandler ->class . '::class ' ;
6362 $ method = $ parsedRouteHandler ->method ;
6463
6564 if (isset ($ controllerNamespaces [$ parsedRouteHandler ->class ])) {
66- if (!isset ($ controllerNamespaces [$ parsedRouteHandler ->class ]['items ' ][$ parsedRouteHandler ->namespace ])) {
65+ if (isset ($ controllerNamespaces [$ parsedRouteHandler ->class ]['items ' ][$ parsedRouteHandler ->namespace ])) {
66+ $ class = $ controllerNamespaces [$ parsedRouteHandler ->class ]['items ' ][$ parsedRouteHandler ->namespace ]['class_name ' ] . '::class ' ;
67+ } else {
6768 $ count = ++$ controllerNamespaces [$ parsedRouteHandler ->class ]['count ' ];
6869 $ class = "{$ parsedRouteHandler ->class }{$ count }" ;
69- $ controllerNamespaces [$ parsedRouteHandler ->class ] = [
70- 'items ' => array_merge (
71- $ controllerNamespaces [$ parsedRouteHandler ->class ]['items ' ],
72- [
73- $ parsedRouteHandler ->namespace => [
74- 'class_name ' => $ class ,
75- 'namespace ' => "{$ parsedRouteHandler ->namespace }\\{$ parsedRouteHandler ->class } as {$ class }" ,
76- ],
77- ]
78- ),
79- 'count ' => $ count ,
70+ $ controllerNamespaces [$ parsedRouteHandler ->class ]['items ' ][$ parsedRouteHandler ->namespace ] = [
71+ 'class_name ' => $ class ,
72+ 'namespace ' => "{$ parsedRouteHandler ->namespace }\\{$ parsedRouteHandler ->class } as {$ class }" ,
8073 ];
74+ $ controllerNamespaces [$ parsedRouteHandler ->class ]['count ' ] = $ count ;
75+
8176 $ class = $ class . '::class ' ;
82- } else {
83- $ class = $ controllerNamespaces [$ parsedRouteHandler ->class ]['items ' ][$ parsedRouteHandler ->namespace ]['class_name ' ] . '::class ' ;
8477 }
8578 } else {
8679 $ controllerNamespaces [$ parsedRouteHandler ->class ] = [
@@ -92,6 +85,8 @@ private function getControllerInfoFromHandler(array &$controllerNamespaces, stri
9285 ],
9386 'count ' => 1 ,
9487 ];
88+
89+ $ class = $ parsedRouteHandler ->class . '::class ' ;
9590 }
9691
9792 return $ method ? "[ $ class, ' $ method'] " : "$ class " ;
0 commit comments