Class ServerRequestFactory
Factory for making ServerRequest instances.
This subclass adds in CakePHP specific behavior to populate the basePath and webroot attributes. Furthermore the Uri's path is corrected to only contain the 'virtual' path for the request.
- Zend\Diactoros\ServerRequestFactory
- Cake\Http\ServerRequestFactory
Method Summary
- Create a new Uri instance from the provided server data.
- Calculate the base directory and webroot directory.
- Build a UriInterface object.
- Updates the request URI to remove the base directory.
Method Detail
createUri()source public static
createUri( array $server [] )
Create a new Uri instance from the provided server data.
Parameters
- array
$server
optional [] Array of server data to build the Uri from. $_SERVER will be added into the $server parameter.
Returns
Psr\Http\Message\UriInterfaceNew instance.
fromGlobals()source public static
fromGlobals( array $server null , array $query null , array $body null , array $cookies null , array $files null )
getBase()source protected static
getBase( Psr\Http\Message\UriInterface $uri , array $server )
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 [baseDir, webroot]
marshalUriFromServer()source public static
marshalUriFromServer( array $server , array $headers )
Build a UriInterface object.
Add in some CakePHP specific logic/properties that help perserve backwards compatibility.
Parameters
- array
$server
- The server parameters.
- array
$headers
- The normalized headers
Returns
Psr\Http\Message\UriInterfacea constructed Uri
updatePath()source protected static
updatePath( string $base , Psr\Http\Message\UriInterface $uri )
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\UriInterfaceThe modified Uri instance.
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.Http.ServerRequestFactory.html