From 8c0cc31021515bdc29a6c6ebc44e903acdb0430f Mon Sep 17 00:00:00 2001 From: xue <> Date: Sun, 5 Mar 2006 04:00:52 +0000 Subject: Added name-based cookie retrieval. --- framework/Collections/TList.php | 5 +---- framework/Web/THttpRequest.php | 18 ++++++++++++++++++ 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: + * + * $cookie=$collection[$cookieName]; + * * * @author Qiang Xue * @version $Revision: $ $Date: $ @@ -738,6 +744,18 @@ class THttpCookieCollection extends TList return $item; } + /** + * @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 -- cgit v1.2.3