$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:----Y1KfBcHgw7GhDZjDCGbHLXbiayaM2jYmiSy/DV3MUPrK3WfZbwMOdWZFqXWgY9EsxWsGGBWmLQHK8mN2ldsHsWgcgufOaPOs2qPO9IWm6FydE5iSAIkjou0JRdve6xq/qn3cZStlyFVQjQg1v0CCqa173uQ1P1P7DAPnr80QlbAWDMedOOtXvkVE2SMv2rMIwSHDWwLUo8RPphBehW3e5DTgO4WBqTsaZGQNyRtOnh+aCfxUO5KH0UGPqS1vwSS21Iwgbd4LMgpnDdO5ewlkTgCR0UqG+EVerYjaid+1Cc8lKxSxLCQRYjjZUIxLmByVBXQIRYUH3AVhLaC4sEi//8JvWF4G53eiDogC2XEmbL26SE9jpeGmiM8Tkvm7l8pyAdBpRDY3h9qAJEtoMo+SlYodWGSoS/KG4+TiOzKZ2yqpa4mo5K6npVWn8mcICFEf7/duRYMrC1m24OXgN61/zzHyvMU3baz9K+GhEitIWpb1iyYDDchEDXPHrpWZ3VNB0+4ooMThJs4y2ekHyOebLBTp2QsO5WiwKnIrtbJlfBG36ylUsyk/xQAzQGODFglLjt1/Uv0ciDRTzmDEKvCKInLekg64IyX9bsPOuZPvn24VckIlfRkqvQcgiyvT4FGpODIi1ddoL2ndY3hHSIZAvAjW8GAz0H7KugEwR5PvDeM=----ATTACHMENT:----NDM3OTA1Nzk5MTU4NzYyNSAyNzQzODQyMDg5NTkyMTY2IDY5NzMyNjk0MjA3NDIxNDQ=