Regular expression grammar rules for validation; values added by constructor
URI parts are divided among these instance variables
Parse a query string or array, validate it and return it as a query string
Parse the scheme-specific portion of the URI and place its parts into instance variables.
Constructor accepts a string $scheme (e.g., http, https) and a scheme-specific part of the URI (e.g., example.com/path/to/resource?query=param#fragment)