Class UriFactory
Factory class for creating uri instances.
        
    Namespace: Cake\Http
    
    
    
      
  
  
        Method Summary
- 
          
createUri() public
Create a new URI.
 - 
          
getBase() protected static
Calculate the base directory and webroot directory.
 - 
          
marshalUriAndBaseFromSapi() public static
Get a new Uri instance and base info from the provided server data.
 - 
          
updatePath() protected static
Updates the request URI to remove the base directory.
 
Method Detail
createUri() ¶ public
createUri(string $uri = ''): UriInterface
      Create 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): array
      Calculate 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): array
      Get 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\UriInterface
      Updates 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