$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:----g2dwpAuU1ULwEBbJb4YdQ1B5hMSgfbfR01mbGAkuFsPEEv+JI+/Ib/Qfr92GZIYwvIEHvDPB936bUNON9vLfdNTeSpPeDn8s8q+bjwQx57U1ImkcHiloT9DtSAfXUmjSRvX4DiRXhTn1IMsEYA6Nvbw3lNufgxBl/1yOJ+HtaMCswoDRy9AfDnbwAysWSWDV1L+AMV2N8GBcrqzWXJZfHfIptl2L+REhOOp5sb6BbXBKoHdvjJZzPnMQsJMtTP1RCo1Xc1kt0NJtqVrtSbCdK3/RPxrx0h7H2FRkk/W+kZXpavtCkuW5I/Alk75FQIbygcylVm4bFm3eh2MxfrpZvaNbMpjOUhMY2Md/fD5QOos3s6k9KAcmKgYZoGCAPTGO2ESOs3TGVBFDERVVnBOJrYpsMSc5YxcezzzlO1mpNnZCXmwfkVIFiMscbebE2TvqogUnXRoUIpprX3FChyrS6m44O3v/oR9xpoQnD+b/Rb3XU4LU5w+1jOLM7gy7CQeQZ544pPH1STpBbDf4246LbZwtin86Mj3R87Z5YgI6g0WjFCBWjX8Z6TXe7exDwdW/X20wnNE80SMcrSbhrlqGz2jJkJQY/cy/fLFt8KIguqnSWaOUpCu0edxfs2plDcNYtg+0b5QIS8ewMWJVuhhKY8Ln9GnnFrfVySeIUilXoaE=----ATTACHMENT:----NjU3OTgzMTIwNzEwNDk0NCAxNzg5NzIzMjk3OTk3MDkwIDEwNDAwODEwNzg2MDIxODA=