@@ -28,7 +28,7 @@ public function __invoke(): array|Collection
2828 return collect ($ this ->configKeys );
2929 }
3030
31- private function flattenConfig ($ config , $ prefix = '' )
31+ private function flattenConfig (array $ config , string $ prefix = '' )
3232 {
3333 foreach ($ config as $ key => $ value ) {
3434 $ fullKey = $ prefix ? "{$ prefix }. {$ key }" : $ key ;
@@ -48,11 +48,21 @@ private function loadConfigKeys()
4848 $ finder ->files ()->in ($ configPath )->name ('*.php ' );
4949
5050 foreach ($ finder as $ file ) {
51- $ this -> configKeys [] = basename ( $ file ->getFilename (), ' .php ' );
51+ $ relativePath = $ file ->getRelativePathname ( );
5252
5353 $ config = include $ file ->getRealPath ();
5454
55- $ this ->flattenConfig ($ config , basename ($ file ->getFilename (), '.php ' ));
55+ $ key = pathinfo ($ relativePath , PATHINFO_FILENAME );
56+
57+ $ folder = pathinfo ($ relativePath , PATHINFO_DIRNAME );
58+
59+ if ($ folder !== '. ' ) {
60+ $ key = str_replace ('/ ' , '. ' , $ folder ).'. ' .$ key ;
61+ }
62+
63+ $ this ->configKeys [] = $ key ;
64+ $ config = include $ file ->getRealPath ();
65+ $ this ->flattenConfig ($ config , $ key );
5666 }
5767 }
5868}
0 commit comments