summaryrefslogtreecommitdiff
path: root/framework/Web/THttpRequest.php
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Web/THttpRequest.php')
-rw-r--r--framework/Web/THttpRequest.php66
1 files changed, 43 insertions, 23 deletions
diff --git a/framework/Web/THttpRequest.php b/framework/Web/THttpRequest.php
index d397cc56..2a3a35aa 100644
--- a/framework/Web/THttpRequest.php
+++ b/framework/Web/THttpRequest.php
@@ -16,7 +16,27 @@
* THttpRequest provides storage and access scheme for user request sent via HTTP.
* It also encapsulates a uniform way to parse and construct URLs.
*
- * To retrieve user POST and GET variables, use {@link getItems()} method.
+ * 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,
+ * <code>
+ * if(isset($request['param1'])) ...
+ * // equivalent to:
+ * // if($request->contains('param1')) ...
+ * </code>
+ * To get the value of 'param1', use,
+ * <code>
+ * $value=$request['param1'];
+ * // equivalent to:
+ * // $value=$request->itemAt('param1');
+ * </code>
+ * To traverse the user post data, use
+ * <code>
+ * foreach($request as $name=>$value) ...
+ * </code>
+ * 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()}.
* THttpRequest also provides the cookies sent by the user, user information such
* as his browser capabilities, accepted languages, etc.
@@ -29,7 +49,7 @@
* @package System.Web
* @since 3.0
*/
-class THttpRequest extends TModule
+class THttpRequest extends TMap implements IModule
{
/**
* GET variable name to store service information
@@ -59,13 +79,29 @@ class THttpRequest extends TModule
* @var string path info of URL
*/
private $_pathInfo;
- /**
- * @var TMap list of input variables (including GET and POST)
- */
- private $_items;
private $_services;
private $_requestResolved=false;
+ /**
+ * @var string module id
+ */
+ private $_id;
+
+ /**
+ * @return string id of this module
+ */
+ public function getID()
+ {
+ return $this->_id;
+ }
+
+ /**
+ * @param string id of this module
+ */
+ public function setID($value)
+ {
+ $this->_id=$value;
+ }
/**
* Initializes the module.
@@ -104,7 +140,7 @@ class THttpRequest extends TModule
$_COOKIE=$this->stripSlashes($_COOKIE);
}
- $this->_items=new TMap(array_merge($_POST,$_GET));
+ $this->copyfrom(array_merge($_GET,$_POST));
$this->_initialized=true;
$this->getApplication()->setRequest($this);
@@ -280,22 +316,6 @@ class THttpRequest extends TModule
}
/**
- * @return TMap list of input variables, include GET, POST
- */
- public function getItems()
- {
- return $this->_items;
- }
-
- /**
- * @return TMap list of input variables, include GET, POST
- */
- public function getParameters()
- {
- return $this->_items;
- }
-
- /**
* @return THttpCookieCollection list of cookies to be sent
*/
public function getCookies()