public function createRegex()
    {
        $parts = explode('/', ltrim($this->path, '/'));
        $regex = '/^'; // Matches the start of the string
        foreach ($parts as $part) {
            $regex .= '\/'; // Matches starting slash
            // Handle non-variable parts
            if (stripos($part, '{') === false &&
                stripos($part, '}') === false) {
                $regex .= $part; // Exactly match this part
                continue;
            }
            // Handle variable parts
            $name = str_ireplace(['{', '}'], '', $part);
            $this->parameterNames[] = $name;
            $this->parameters[$name] = null;
            // Check if a rule exists for this part
            if (isset($this->rules[$name])) {
                $regex .= $this->rules[$name];
                continue;
            }
            // No rule exists, match all except slashes
            $regex .= '([^\/]+)';
        }
        $regex .= '$/'; // Matches end of string
        $this->regex = $regex;
    }
public function createRegex()
    {
        $parts = explode('/', ltrim($this->path, '/'));
        $regex = '/^'; // Matches the start of the string
        foreach ($parts as $part) {
            $regex .= '\/'; // Matches starting slash
            // Handle non-variable parts
            if (stripos($part, '{') === false &&
                stripos($part, '}') === false) {
                $regex .= $part; // Exactly match this part
                continue;
            }
            // Handle variable parts
            $name = str_ireplace(['{', '}'], '', $part);
            $this->parameterNames[] = $name;
            $this->parameters[$name] = null;
            // Check if a rule exists for this part
            if (isset($this->rules[$name])) {
                $regex .= $this->rules[$name];
                continue;
            }
            // No rule exists, match all except slashes
            $regex .= '([^\/]+)';
        }
        $regex .= '$/'; // Matches end of string
        $this->regex = $regex;
    }
public function createRegex ( ) { $ parts = explode ( '/' , ltrim ( $ this -> path , '/' ) ) ; $ regex = '/^' ; // Matches the start of the string foreach ( $ parts as $ part ) { $ regex .= '\/' ; // Matches starting slash // Handle non-variable parts if ( stripos ( $ part , '{' ) === false && stripos ( $ part , '}' ) === false ) { $ regex .= $ part ; // Exactly match this part continue ; } // Handle variable parts $ name = str_ireplace ( [ '{' , '}' ] , '' , $ part ) ; $ this -> parameterNames [ ] = $ name ; $ this -> parameters [ $ name ] = null ; // Check if a rule exists for this part if ( isset ( $ this -> rules [ $ name ] ) ) { $ regex .= $ this -> rules [ $ name ] ; continue ; } // No rule exists, match all except slashes $ regex .= '([^\/]+)' ; } $ regex .= '$/' ; // Matches end of string $ this -> regex = $ regex ; }
Creates a regular expression to match the route
@since 1.0.0
Creates a regular expression to match the route