PHP Класс Prado\Web\THttpRequest

THttpRequest provides storage and access scheme for user request sent via HTTP. It also encapsulates a uniform way to parse and construct URLs. User post data can be retrieved from THttpRequest by using it like an associative array. For example, to test if a user supplies a variable named 'param1', you can use, if(isset($request['param1'])) ... equivalent to: if($request->contains('param1')) ... To get the value of 'param1', use, $value=$request['param1']; equivalent to: $value=$request->itemAt('param1'); To traverse the user post data, use foreach($request as $name=>$value) ... Note, POST and GET variables are merged together in THttpRequest. If a variable name appears in both POST and GET data, then POST data takes precedence. To construct a URL that can be recognized by Prado, use {@link constructUrl()}. The format of the recognizable URLs is determined according to {@link setUrlManager UrlManager}. By default, the following two formats are recognized: index.php?ServiceID=ServiceParameter&Name1=Value1&Name2=Value2 index.php/ServiceID,ServiceParameter/Name1,Value1/Name2,Value2 The first format is called 'Get' while the second 'Path', which is specified via {@link setUrlFormat UrlFormat}. For advanced users who want to use their own URL formats, they can write customized URL management modules and install the managers as application modules and set {@link setUrlManager UrlManager}. The ServiceID in the above URLs is as defined in the application configuration (e.g. the default page service's service ID is 'page'). As a consequence, your GET variable names should not conflict with the service IDs that your application supports. THttpRequest also provides the cookies sent by the user, user information such as his browser capabilities, accepted languages, etc. By default, THttpRequest is registered with {@link TApplication} as the request module. It can be accessed via {@link TApplication::getRequest()}.
С версии: 3.0
Автор: Qiang Xue ([email protected])
Наследование: extends Prado\TApplicationComponent, implements IteratorAggregate, implements ArrayAccess, implements Countable, implements Prado\IModule
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
add ( $key, $value ) Adds an item into the request.
clear ( ) Removes all items in the request.
constructUrl ( $serviceID, $serviceParam, $getItems = null, $encodeAmpersand = true, $encodeGetItems = true ) : string Constructs a URL that can be recognized by PRADO.
contains ( $key ) : boolean
count ( ) : integer Returns the number of items in the request.
getAbsoluteApplicationUrl ( $forceSecureConnection = null ) : string
getAcceptTypes ( ) : string
getApplicationFilePath ( ) : string
getApplicationUrl ( ) : string
getBaseUrl ( $forceSecureConnection = null ) : string
getBrowser ( ) : array
getCgiFix ( ) : integer
getContentType ( boolean $mimetypeOnly = true ) : string
getCookies ( ) : THttpCookieCollection
getCount ( ) : integer
getEnableCache ( ) : boolean
getEnableCookieValidation ( ) : boolean
getEnvironmentVariables ( ) : array
getHeaders ( $case = null ) : array
getHttpProtocolVersion ( ) : string
getID ( ) : string
getIsSecureConnection ( ) : boolean
getIterator ( ) : Iterator Returns an iterator for traversing the items in the list.
getKeys ( ) : array
getPathInfo ( ) : string
getQueryString ( ) : string
getRequestResolved ( ) : boolean
getRequestType ( ) : string
getRequestUri ( ) : string
getServerName ( ) : string
getServerPort ( ) : integer
getServerVariables ( ) : array
getServiceID ( ) : string
getServiceParameter ( ) : string
getUploadedFiles ( ) : array
getUrl ( ) : TUri
getUrlFormat ( ) : THttpRequestUrlFormat
getUrlManager ( ) : string
getUrlManagerModule ( ) : TUrlManager
getUrlParamSeparator ( ) : string
getUrlReferrer ( ) : string
getUserAgent ( ) : string
getUserHost ( ) : string
getUserHostAddress ( ) : string
getUserLanguages ( ) : array Returns a list of user preferred languages.
init ( $config ) Initializes the module.
itemAt ( $key ) : mixed Returns the item with the specified key.
offsetExists ( $offset ) : boolean Returns whether there is an element at the specified offset.
offsetGet ( $offset ) : mixed Returns the element at the specified offset.
offsetSet ( $offset, $item ) Sets the element at the specified offset.
offsetUnset ( $offset ) Unsets the element at the specified offset.
remove ( $key ) : mixed Removes an item from the request by its key.
resolveRequest ( $serviceIDs ) : string Resolves the requested service.
setCgiFix ( $value ) Enable this, if you're using PHP via CGI with php.ini setting "cgi.fix_pathinfo=1" and have trouble with friendly URL feature. Enable this only if you really know what you are doing!
setEnableCache ( $value ) Set true to cache the UrlManager instance. Consider to enable this cache when the application defines a lot of TUrlMappingPatterns
setEnableCookieValidation ( $value )
setID ( $value )
setServiceID ( $value ) Sets the requested service ID.
setServiceParameter ( $value ) Sets the requested service parameter.
setUrlFormat ( $value ) Sets the format of URLs constructed and interpretted by the request module.
setUrlManager ( $value ) Sets the URL manager module.
setUrlParamSeparator ( $value )
stripSlashes ( &$data ) : mixed Strips slashes from input data.
toArray ( ) : array

Защищенные методы

Метод Описание
cacheUrlManager ( $manager ) : boolean Saves the current UrlManager instance to cache.
getCacheKey ( )
loadCachedUrlManager ( ) : TUrlManager Loads UrlManager instance from cache.
parseUrl ( ) : array Parses the request URL and returns an array of input parameters (excluding GET variables).

Описание методов

add() публичный Метод

Note, if the specified key already exists, the old value will be overwritten.
public add ( $key, $value )

cacheUrlManager() защищенный Метод

Saves the current UrlManager instance to cache.
protected cacheUrlManager ( $manager ) : boolean
Результат boolean true if UrlManager instance was cached, false otherwise.

clear() публичный Метод

Removes all items in the request.
public clear ( )

constructUrl() публичный Метод

The actual construction work is done by the URL manager module. This method may append session information to the generated URL if needed. You may provide your own URL manager module by setting {@link setUrlManager UrlManager} to provide your own URL scheme. Note, the constructed URL does not contain the protocol and hostname part. You may obtain an absolute URL by prepending the constructed URL with {@link getBaseUrl BaseUrl}.
См. также: TUrlManager::constructUrl
public constructUrl ( $serviceID, $serviceParam, $getItems = null, $encodeAmpersand = true, $encodeGetItems = true ) : string
Результат string URL

contains() публичный Метод

public contains ( $key ) : boolean
Результат boolean whether the request contains an item with the specified key

count() публичный Метод

This method is required by \Countable interface.
public count ( ) : integer
Результат integer number of items in the request.

getAbsoluteApplicationUrl() публичный Метод

public getAbsoluteApplicationUrl ( $forceSecureConnection = null ) : string
Результат string entry script URL (w/ host part)

getAcceptTypes() публичный Метод

public getAcceptTypes ( ) : string
Результат string user browser accept types

getApplicationFilePath() публичный Метод

public getApplicationFilePath ( ) : string
Результат string application entry script file path (processed w/ realpath())

getApplicationUrl() публичный Метод

public getApplicationUrl ( ) : string
Результат string entry script URL (w/o host part)

getBaseUrl() публичный Метод

public getBaseUrl ( $forceSecureConnection = null ) : string
Результат string schema and hostname of the requested URL

getBrowser() публичный Метод

См. также: get_browser
public getBrowser ( ) : array
Результат array user browser capabilities

getCacheKey() защищенный Метод

protected getCacheKey ( )

getCgiFix() публичный Метод

public getCgiFix ( ) : integer
Результат integer whether to use ORIG_PATH_INFO and/or ORIG_SCRIPT_NAME. Defaults to 0.

getContentType() публичный Метод

public getContentType ( boolean $mimetypeOnly = true ) : string
$mimetypeOnly boolean whether to return only the mimetype (default: true)
Результат string content type (e.g. 'application/json' or 'text/html; encoding=gzip') or null if not specified

getCookies() публичный Метод

public getCookies ( ) : THttpCookieCollection
Результат THttpCookieCollection list of cookies to be sent

getCount() публичный Метод

public getCount ( ) : integer
Результат integer the number of items in the request

getEnableCache() публичный Метод

public getEnableCache ( ) : boolean
Результат boolean true if urlmanager instance should be cached, false otherwise.

getEnableCookieValidation() публичный Метод

public getEnableCookieValidation ( ) : boolean
Результат boolean whether cookies should be validated. Defaults to false.

getEnvironmentVariables() публичный Метод

public getEnvironmentVariables ( ) : array
Результат array list of environment variables.

getHeaders() публичный Метод

public getHeaders ( $case = null ) : array
Результат array

getHttpProtocolVersion() публичный Метод

public getHttpProtocolVersion ( ) : string
Результат string the requested http procolol. Blank string if not defined.

getID() публичный Метод

public getID ( ) : string
Результат string id of this module

getIsSecureConnection() публичный Метод

public getIsSecureConnection ( ) : boolean
Результат boolean if the request is sent via secure channel (https)

getIterator() публичный Метод

This method is required by the interface \IteratorAggregate.
public getIterator ( ) : Iterator
Результат Iterator an iterator for traversing the items in the list.

getKeys() публичный Метод

public getKeys ( ) : array
Результат array the key list

getPathInfo() публичный Метод

public getPathInfo ( ) : string
Результат string part of the request URL after script name and before question mark.

getQueryString() публичный Метод

public getQueryString ( ) : string
Результат string part of that request URL after the question mark

getRequestResolved() публичный Метод

public getRequestResolved ( ) : boolean
Результат boolean true if request is already resolved, false otherwise.

getRequestType() публичный Метод

public getRequestType ( ) : string
Результат string request type, can be GET, POST, HEAD, or PUT

getRequestUri() публичный Метод

public getRequestUri ( ) : string
Результат string part of that request URL after the host info (including pathinfo and query string)

getServerName() публичный Метод

public getServerName ( ) : string
Результат string server name

getServerPort() публичный Метод

public getServerPort ( ) : integer
Результат integer server port number

getServerVariables() публичный Метод

public getServerVariables ( ) : array
Результат array list of server variables.

getServiceID() публичный Метод

public getServiceID ( ) : string
Результат string requested service ID

getServiceParameter() публичный Метод

public getServiceParameter ( ) : string
Результат string requested service parameter

getUploadedFiles() публичный Метод

public getUploadedFiles ( ) : array
Результат array list of uploaded files.

getUrl() публичный Метод

public getUrl ( ) : TUri
Результат TUri the request URL

getUrlFormat() публичный Метод

public getUrlFormat ( ) : THttpRequestUrlFormat
Результат THttpRequestUrlFormat the format of URLs. Defaults to THttpRequestUrlFormat::Get.

getUrlManager() публичный Метод

public getUrlManager ( ) : string
Результат string the ID of the URL manager module

getUrlManagerModule() публичный Метод

public getUrlManagerModule ( ) : TUrlManager
Результат TUrlManager the URL manager module

getUrlParamSeparator() публичный Метод

public getUrlParamSeparator ( ) : string
Результат string separator used to separate GET variable name and value when URL format is Path. Defaults to comma ','.

getUrlReferrer() публичный Метод

public getUrlReferrer ( ) : string
Результат string URL referrer, null if not present

getUserAgent() публичный Метод

public getUserAgent ( ) : string
Результат string user agent

getUserHost() публичный Метод

public getUserHost ( ) : string
Результат string user host name, null if cannot be determined

getUserHostAddress() публичный Метод

public getUserHostAddress ( ) : string
Результат string user IP address

getUserLanguages() публичный Метод

The languages are returned as an array. Each array element represents a single language preference. The languages are ordered according to user preferences. The first language is the most preferred.
public getUserLanguages ( ) : array
Результат array list of user preferred languages.

init() публичный Метод

This method is required by IModule and is invoked by application.
public init ( $config )

itemAt() публичный Метод

This method is exactly the same as {@link offsetGet}.
public itemAt ( $key ) : mixed
Результат mixed the element at the offset, null if no element is found at the offset

loadCachedUrlManager() защищенный Метод

Loads UrlManager instance from cache.
protected loadCachedUrlManager ( ) : TUrlManager
Результат TUrlManager intance if load was successful, null otherwise.

offsetExists() публичный Метод

This method is required by the interface \ArrayAccess.
public offsetExists ( $offset ) : boolean
Результат boolean

offsetGet() публичный Метод

This method is required by the interface \ArrayAccess.
public offsetGet ( $offset ) : mixed
Результат mixed the element at the offset, null if no element is found at the offset

offsetSet() публичный Метод

This method is required by the interface \ArrayAccess.
public offsetSet ( $offset, $item )

offsetUnset() публичный Метод

This method is required by the interface \ArrayAccess.
public offsetUnset ( $offset )

parseUrl() защищенный Метод

You may override this method to support customized URL format.
См. также: TUrlManager::parseUrl
protected parseUrl ( ) : array
Результат array list of input parameters, indexed by parameter names

remove() публичный Метод

Removes an item from the request by its key.
public remove ( $key ) : mixed
Результат mixed the removed value, null if no such key exists.

resolveRequest() публичный Метод

This method implements a URL-based service resolution. A URL in the format of /index.php?sp=serviceID.serviceParameter will be resolved with the serviceID and the serviceParameter. You may override this method to provide your own way of service resolution.
См. также: constructUrl
public resolveRequest ( $serviceIDs ) : string
Результат string the currently requested service ID, null if no service ID is found

setCgiFix() публичный Метод

Enable this, if you're using PHP via CGI with php.ini setting "cgi.fix_pathinfo=1" and have trouble with friendly URL feature. Enable this only if you really know what you are doing!
public setCgiFix ( $value )

setEnableCache() публичный Метод

Set true to cache the UrlManager instance. Consider to enable this cache when the application defines a lot of TUrlMappingPatterns
public setEnableCache ( $value )

setEnableCookieValidation() публичный Метод

public setEnableCookieValidation ( $value )

setID() публичный Метод

public setID ( $value )

setServiceID() публичный Метод

Sets the requested service ID.
public setServiceID ( $value )

setServiceParameter() публичный Метод

Sets the requested service parameter.
public setServiceParameter ( $value )

setUrlFormat() публичный Метод

A Get URL format is like index.php?name1=value1&name2=value2 while a Path URL format is like index.php/name1,value1/name2,value. Changing the UrlFormat will affect {@link constructUrl} and how GET variables are parsed.
public setUrlFormat ( $value )

setUrlManager() публичный Метод

By default, {@link TUrlManager} is used for managing URLs. You may specify a different module for URL managing tasks by loading it as an application module and setting this property with the module ID.
public setUrlManager ( $value )

setUrlParamSeparator() публичный Метод

public setUrlParamSeparator ( $value )

stripSlashes() публичный Метод

This method is applied when magic quotes is enabled.
public stripSlashes ( &$data ) : mixed
Результат mixed processed data

toArray() публичный Метод

public toArray ( ) : array
Результат array the list of items in array