@@ -1298,29 +1298,7 @@ protected function classNameToCommandName(string $class): string
12981298 if (substr ($ class , -7 ) !== 'Command ' ) {
12991299 return '' ;
13001300 }
1301- $ temp = substr ($ class , 0 , -7 );
1302- $ chunks = [];
1303- $ currentUpperCaseLetter = '' ;
1304- while ($ temp !== '' ) {
1305- if (!preg_match ('/\p{Lu}/u ' , $ temp , $ match , PREG_OFFSET_CAPTURE )) {
1306- break ;
1307- }
1308- // $match[0][0] contains first upper case character
1309- // $match[0][1] contains the start position (in bytes) of the first upper case character
1310- [$ upperCaseLetter , $ upperCaseLetterOffset ] = $ match [0 ];
1311- if ($ upperCaseLetterOffset > 0 ) {
1312- $ chunks [] = $ currentUpperCaseLetter . substr ($ temp , 0 , $ upperCaseLetterOffset );
1313- } elseif ($ currentUpperCaseLetter !== '' ) {
1314- $ chunks [] = $ currentUpperCaseLetter ;
1315- }
1316- $ temp = substr ($ temp , $ upperCaseLetterOffset + strlen ($ upperCaseLetter ));
1317- $ currentUpperCaseLetter = $ upperCaseLetter ;
1318- }
1319- $ lastChunk = $ currentUpperCaseLetter . $ temp ;
1320- if ($ lastChunk !== '' ) {
1321- $ chunks [] = $ lastChunk ;
1322- }
1323- return implode ('_ ' , array_map ('mb_strtolower ' , $ chunks ));
1301+ return mb_strtolower (preg_replace ('/(.)(?=[\p{Lu}])/u ' , '$1_ ' , substr ($ class , 0 , -7 )));
13241302 }
13251303
13261304 /**
0 commit comments