API Documentation

Zend/Http/CookieJar.php

Show: inherited
Table of Contents

Zend Framework

LICENSE

This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.

Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Http  
Subpackage
CookieJar  
Version
$Id: CookieJar.php 24594 2012-01-05 21:27:01Z matthew $  

\Zend_Http_CookieJar

Package: Zend\Http\CookieJar

A Zend_Http_CookieJar object is designed to contain and maintain HTTP cookies, and should be used along with Zend_Http_Client in order to manage cookies across HTTP requests and responses.

The class contains an array of Zend_Http_Cookie objects. Cookies can be added to the jar automatically from a request or manually. Then, the jar can find and return the cookies needed for a specific HTTP request.

A special parameter can be passed to all methods of this class that return cookies: Cookies can be returned either in their native form (as Zend_Http_Cookie objects) or as strings - the later is suitable for sending as the value of the "Cookie" header in an HTTP request. You can also choose, when returning more than one cookie, whether to get an array of strings (by passing Zend_Http_CookieJar::COOKIE_STRING_ARRAY) or one unified string for all cookies (by passing Zend_Http_CookieJar::COOKIE_STRING_CONCAT).

Implements
Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Link
for some specs.  

Constants

Constant  COOKIE_OBJECT = 0

Return cookie(s) as a Zend_Http_Cookie object

Constant  COOKIE_STRING_ARRAY = 1

Return cookie(s) as a string (suitable for sending in an HTTP request)

Constant  COOKIE_STRING_CONCAT = 2

Return all cookies as one long string (suitable for sending in an HTTP request)

Properties

Propertyprotectedarray  $_rawCookies= 'array()'

The Zend_Http_Cookie array

Default valuearray()Details
Type
array
Propertyprotectedarray  $cookies= 'array()'

Array storing cookies

Cookies are stored according to domain and path: $cookies + www.mydomain.com + / - cookie1 - cookie2 + /somepath - othercookie + www.otherdomain.net + / - alsocookie

Default valuearray()Details
Type
array

Methods

methodpublic__construct( ) : void

Construct a new CookieJar object

methodprotected_flattenCookiesArray( \Zend_Http_Cookie|array $ptr, int $ret_as = self::COOKIE_OBJECT ) : array|string

Helper function to recursivly flatten an array. Shoud be used when exporting the cookies array (or parts of it)

Parameters
Name Type Description
$ptr \Zend_Http_Cookie|array
$ret_as int

What value to return

Returns
Type Description
array|string
methodprotected_matchDomain( string $domain ) : array

Return a subset of the cookies array matching a specific domain

Parameters
Name Type Description
$domain string
Returns
Type Description
array
methodprotected_matchPath(  $domains, string $path ) : array

Return a subset of a domain-matching cookies that also match a specified path

Parameters
Name Type Description
$domains
$path string
Returns
Type Description
array
methodpublicaddCookie( \Zend_Http_Cookie|string $cookie, \Zend_Uri_Http|string $ref_uri = null, boolean $encodeValue = true ) : void

Add a cookie to the jar. Cookie should be passed either as a Zend_Http_Cookie object or as a string - in which case an object is created from the string.

Parameters
Name Type Description
$cookie \Zend_Http_Cookie|string
$ref_uri \Zend_Uri_Http|string

Optional reference URI (for domain, path, secure)

$encodeValue boolean
methodpublicaddCookiesFromResponse( \Zend_Http_Response $response, \Zend_Uri_Http|string $ref_uri, boolean $encodeValue = true ) : void

Parse an HTTP response, adding all the cookies set in that response to the cookie jar.

Parameters
Name Type Description
$response \Zend_Http_Response
$ref_uri \Zend_Uri_Http|string

Requested URI

$encodeValue boolean
methodpubliccount( ) : int

Required by Countable interface

Returns
Type Description
int
methodpublicfromResponse( \Zend_Http_Response $response,  $ref_uri ) : \Zend_Http_CookieJar
static

Create a new CookieJar object and automatically load into it all the cookies set in an Http_Response object. If $uri is set, it will be considered as the requested URI for setting default domain and path of the cookie.

Parameters
Name Type Description
$response \Zend_Http_Response

HTTP Response object

$ref_uri
Returns
Type Description
\Zend_Http_CookieJar
Details
Todo
Add the $uri functionality.  
methodpublicgetAllCookies( int $ret_as = self::COOKIE_OBJECT ) : array|string

Get all cookies in the cookie jar as an array

Parameters
Name Type Description
$ret_as int

Whether to return cookies as objects of Zend_Http_Cookie or as strings

Returns
Type Description
array|string
methodpublicgetCookie( \Zend_Uri_Http|string $uri, string $cookie_name, int $ret_as = self::COOKIE_OBJECT ) : \Zend_Http_Cookie|string

Get a specific cookie according to a URI and name

Parameters
Name Type Description
$uri \Zend_Uri_Http|string

The uri (domain and path) to match

$cookie_name string

The cookie's name

$ret_as int

Whether to return cookies as objects of Zend_Http_Cookie or as strings

Returns
Type Description
\Zend_Http_Cookie|string
methodpublicgetIterator( ) : \ArrayIterator

Required by IteratorAggregate interface

Returns
Type Description
\ArrayIterator
methodpublicgetMatchingCookies( string|\Zend_Uri_Http $uri, boolean $matchSessionCookies = true, int $ret_as = self::COOKIE_OBJECT, int $now = null ) : array|string

Return an array of all cookies matching a specific request according to the request URI, whether session cookies should be sent or not, and the time to consider as "now" when checking cookie expiry time.

Parameters
Name Type Description
$uri string|\Zend_Uri_Http

URI to check against (secure, domain, path)

$matchSessionCookies boolean

Whether to send session cookies

$ret_as int

Whether to return cookies as objects of Zend_Http_Cookie or as strings

$now int

Override the current time when checking for expiry time

Returns
Type Description
array|string
methodpublicisEmpty( ) : bool

Tells if the jar is empty of any cookie

Returns
Type Description
bool
methodpublicreset( ) : \Zend_Http_CookieJar

Empties the cookieJar of any cookie

Returns
Type Description
\Zend_Http_CookieJar
Documentation was generated by DocBlox 0.15.1.