summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--framework/Collections/TList.php5
-rw-r--r--framework/Web/THttpRequest.php18
2 files changed, 19 insertions, 4 deletions
diff --git a/framework/Collections/TList.php b/framework/Collections/TList.php
index 6dd2561b..244eab0f 100644
--- a/framework/Collections/TList.php
+++ b/framework/Collections/TList.php
@@ -298,10 +298,7 @@ class TList extends TComponent implements IteratorAggregate,ArrayAccess
*/
public function offsetGet($offset)
{
- if($offset>=0 && $offset<$this->_c)
- return $this->_d[$offset];
- else
- throw new TInvalidDataValueException('list_index_invalid',$offset);
+ return $this->itemAt($offset);
}
/**
diff --git a/framework/Web/THttpRequest.php b/framework/Web/THttpRequest.php
index 293c73f1..d3a8480a 100644
--- a/framework/Web/THttpRequest.php
+++ b/framework/Web/THttpRequest.php
@@ -681,6 +681,12 @@ class THttpRequest extends TApplicationComponent implements IteratorAggregate,Ar
* THttpCookieCollection class.
*
* THttpCookieCollection implements a collection class to store cookies.
+ * Besides using all functionalities from {@link TList}, you can also
+ * retrieve a cookie by its name using either {@link findCookieByName} or
+ * simply:
+ * <code>
+ * $cookie=$collection[$cookieName];
+ * </code>
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @version $Revision: $ $Date: $
@@ -739,6 +745,18 @@ class THttpCookieCollection extends TList
}
/**
+ * @param integer|string index of the cookie in the collection or the cookie's name
+ * @return THttpCookie the cookie found
+ */
+ public function itemAt($index)
+ {
+ if(is_integer($index))
+ return parent::itemAt($index);
+ else
+ return $this->findCookieByName($index);
+ }
+
+ /**
* Finds the cookie with the specified name.
* @param string the name of the cookie to be looked for
* @return THttpCookie the cookie, null if not found