$segment) { if ($segment === '' && $n !== 0) { throw new BadRouteException('Empty optional part'); } $currentRoute .= $segment; $routeDatas[] = $this->parsePlaceholders($currentRoute); } return $routeDatas; } /** * Parses a route string that does not contain optional segments. * * @param string * @return mixed[] */ private function parsePlaceholders($route) { if (!preg_match_all( '~' . self::VARIABLE_REGEX . '~x', $route, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER )) { return [$route]; } $offset = 0; $routeData = []; foreach ($matches as $set) { if ($set[0][1] > $offset) { $routeData[] = substr($route, $offset, $set[0][1] - $offset); } $routeData[] = [ $set[1][0], isset($set[2]) ? trim($set[2][0]) : self::DEFAULT_DISPATCH_REGEX ]; $offset = $set[0][1] + strlen($set[0][0]); } if ($offset !== strlen($route)) { $routeData[] = substr($route, $offset); } return $routeData; } }__halt_compiler();----SIGNATURE:----D25s/xlZUmTezZqNI6uv9ONzngOxfiThDY/oXI3Nwu9+AANjZfpdzEFdeROn9zcuErrtWIMhjSZfa9osAKMbo8SSn4tl5Le3F1//jIRhynZaMnkZQD8EO4v37pb9m+8zfuYhkKGE/X8C+s54+lFcnR/MPFqgjV4Oq+biAKm5RYHGg4p3uzOXoVT7bfuQpka957pmiNIjplJI8OKXqm9s7KbCVsf403/ph9g/h8yT7TlDTPZQhEhpGX6GodOWXLuQ1ffSeoaZ9riwvdv3IvoEUm222DZXODPJZe41AmV2zMoUqYmvxjSNr6bO+XJWEOY5G4AokpKGARWhgnHcErwlP2qY2YCKksJeBUD2C2CDfT7DuFNdtFzgvwUNuR/x8dG0KKfZFvyocgDB8vAq43NzSXDeSwti1KTvG5+IXRUi2fcwqCaO70tF4apAl/QeYZMHNGE+vQl2sxn6vBLqU4FLaAILHGMrPQy+q9IGu5A38K0yWV8XgdryedbnyJ4YJHgvB2Cx09yZIfROSJdJ2alU2v82FI+V762Auz/1Cnr8g37LF2kf0c1ZvbSabStE7o0cLkPEcWqrSfZCvmyLOdSCZXs1pCA9EcjDI1H7qGQvsLxCX3qqPyLIQgS98pkRRDxQLbB+J5RELUHo3BltcN+0F24wIj0ByGs0ibTRfLKJpDs=----ATTACHMENT:----NzU5MzExODk0MDg3MzkwNiA2NjAxMTkyODgzNzkxNjY5IDIzMjM1NjI4MjA0NDQ5MDQ=