Skip to content

Commit b40373c

Browse files
committed
feat: better route migration
1 parent 7743893 commit b40373c

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

src/Services/PageRouterService.php

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ public function create()
3030
[
3131
'prefix' => LaravelLocalization::setLocale(),
3232
'middleware' => [LaravelLocalizationViewPath::class],
33-
], function () use ($routes) {
33+
],
34+
function () use ($routes) {
3435
PageRedirectService::getRoutes();
3536
$this->setRouteList($routes);
3637
}
@@ -97,7 +98,7 @@ private function getControllerClassName(Menu $page): string|false
9798
return false;
9899
}
99100

100-
$pageClassName = sprintf('App\\Http\\Controllers\\Page\\%sController', ucfirst($page->template->controller ?? $page->template->filename));
101+
$pageClassName = sprintf('App\\Http\\Controllers\\Page\\%sController', ucfirst($page->template->controller ?? $this->transformFilename($page->template->filename)));
101102

102103
if (class_exists($pageClassName)) {
103104
return $pageClassName;
@@ -112,6 +113,21 @@ private function getControllerClassName(Menu $page): string|false
112113
return false;
113114
}
114115

116+
private function transformFilename(string $filename): string
117+
{
118+
if (substr($filename, -4, 4) === 'page') {
119+
$filename = substr($filename, 0, -4);
120+
$filename .= 'Page';
121+
}
122+
$filenameParts = preg_split('/[\/-]/', $filename);
123+
$cappedParts = [];
124+
foreach ($filenameParts as $key => $part) {
125+
$cappedParts[] = ucfirst($part);
126+
}
127+
128+
return implode('\\', $cappedParts);
129+
}
130+
115131
private function cliError($message): void
116132
{
117133
if (! $this->output) {

0 commit comments

Comments
 (0)