Skip to content

Commit ef1c0e3

Browse files
committed
refactor: extract method
1 parent b8dd442 commit ef1c0e3

File tree

1 file changed

+25
-34
lines changed

1 file changed

+25
-34
lines changed

system/Commands/Utilities/Routes/AutoRouterImproved/ControllerMethodReader.php

Lines changed: 25 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -85,23 +85,7 @@ public function read(string $class, string $defaultController = 'Home', string $
8585
continue;
8686
}
8787

88-
$params = [];
89-
$routeParams = '';
90-
$refParams = $method->getParameters();
91-
92-
foreach ($refParams as $param) {
93-
$required = true;
94-
if ($param->isOptional()) {
95-
$required = false;
96-
97-
$routeParams .= '[/..]';
98-
} else {
99-
$routeParams .= '/..';
100-
}
101-
102-
// [variable_name => required?]
103-
$params[$param->getName()] = $required;
104-
}
88+
[$params, $routeParams] = $this->getParameters($method);
10589

10690
// Route for the default method.
10791
$output[] = [
@@ -117,23 +101,7 @@ public function read(string $class, string $defaultController = 'Home', string $
117101

118102
$route = $classInUri . '/' . $methodInUri;
119103

120-
$params = [];
121-
$routeParams = '';
122-
$refParams = $method->getParameters();
123-
124-
foreach ($refParams as $param) {
125-
$required = true;
126-
if ($param->isOptional()) {
127-
$required = false;
128-
129-
$routeParams .= '[/..]';
130-
} else {
131-
$routeParams .= '/..';
132-
}
133-
134-
// [variable_name => required?]
135-
$params[$param->getName()] = $required;
136-
}
104+
[$params, $routeParams] = $this->getParameters($method);
137105

138106
// If it is the default controller, the method will not be
139107
// routed.
@@ -155,6 +123,29 @@ public function read(string $class, string $defaultController = 'Home', string $
155123
return $output;
156124
}
157125

126+
private function getParameters(ReflectionMethod $method): array
127+
{
128+
$params = [];
129+
$routeParams = '';
130+
$refParams = $method->getParameters();
131+
132+
foreach ($refParams as $param) {
133+
$required = true;
134+
if ($param->isOptional()) {
135+
$required = false;
136+
137+
$routeParams .= '[/..]';
138+
} else {
139+
$routeParams .= '/..';
140+
}
141+
142+
// [variable_name => required?]
143+
$params[$param->getName()] = $required;
144+
}
145+
146+
return [$params, $routeParams];
147+
}
148+
158149
/**
159150
* @phpstan-param class-string $classname
160151
*

0 commit comments

Comments
 (0)