Class UriFactory
Factory class for creating uri instances.
        
    Namespace: Cake\Http
    
    
    
      
  
  
        Method Summary
- 
          createUri() publicCreate a new URI. 
- 
          getBase() protected staticCalculate the base directory and webroot directory. 
- 
          marshalUriAndBaseFromSapi() public staticGet a new Uri instance and base info from the provided server data. 
- 
          updatePath() protected staticUpdates the request URI to remove the base directory. 
Method Detail
createUri() ¶ public
createUri(string $uri = ''): UriInterfaceCreate a new URI.
Parameters
- 
                string$uri optional
- The URI to parse. 
Returns
UriInterfaceThrows
InvalidArgumentExceptionIf the given URI cannot be parsed.
getBase() ¶ protected static
getBase(Psr\Http\Message\UriInterface $uri, array $server): arrayCalculate the base directory and webroot directory.
Parameters
- 
                Psr\Http\Message\UriInterface$uri
- The Uri instance. 
- 
                array$server
- The SERVER data to use. 
Returns
arrayAn array containing the base and webroot paths.
marshalUriAndBaseFromSapi() ¶ public static
marshalUriAndBaseFromSapi(array|null $server = null): arrayGet a new Uri instance and base info from the provided server data.
Parameters
- 
                array|null$server optional
- Array of server data to build the Uri from. $_SERVER will be used if $server parameter is null. 
Returns
arrayupdatePath() ¶ protected static
updatePath(string $base, Psr\Http\Message\UriInterface $uri): Psr\Http\Message\UriInterfaceUpdates the request URI to remove the base directory.
Parameters
- 
                string$base
- The base path to remove. 
- 
                Psr\Http\Message\UriInterface$uri
- The uri to update. 
Returns
Psr\Http\Message\UriInterface