Skip to content
PHP Ecosystem
Explore

Cookie

API reference › yii › web › Cookie

classyii\web\Cookie
Extendsyii\base\BaseObject
Implementsyii\base\Configurable
Since2.0
Sourceframework/web/Cookie.php

Cookie represents information related with a cookie, such as $name, $value, $domain, etc.

For more details and usage information on Cookie, see the guide article on handling cookies.

PropertyTypeDescriptionDefined by
$domainstringDomain of the cookie Default: ''.Cookie
$expireint|string|DateTimeInterface|nullThe timestamp or date at which the cookie expires. Default: 0.Cookie
$httpOnlyboolWhether the cookie should be accessible only through the HTTP protocol. Default: true.Cookie
$namestringName of the cookie Default: null.Cookie
$pathstringThe path on the server in which the cookie will be available on. Default: '/'.Cookie
$sameSitestringSameSite prevents the browser from sending this cookie along with cross-site requests. Default: self::SAME_SITE_LAX. Available since 2.0.21.Cookie
$secureboolWhether cookie should be sent via secure connection Default: false.Cookie
$valuestringValue of the cookie Default: ''.Cookie
MethodDescriptionDefined by
__construct()Constructor.yii\base\BaseObject
__call()Calls the named method which is not a class method.yii\base\BaseObject
__get()Returns the value of an object property.yii\base\BaseObject
__isset()Checks if a property is set, i.e. defined and not null.yii\base\BaseObject
__set()Sets value of an object property.yii\base\BaseObject
__toString()Magic method to turn a cookie object into a string without having to explicitly access $value.Cookie
__unset()Sets an object property to null.yii\base\BaseObject
canGetProperty()Returns a value indicating whether a property can be read.yii\base\BaseObject
canSetProperty()Returns a value indicating whether a property can be set.yii\base\BaseObject
className() staticReturns the fully qualified name of this class.yii\base\BaseObject
hasMethod()Returns a value indicating whether a method is defined.yii\base\BaseObject
hasProperty()Returns a value indicating whether a property is defined.yii\base\BaseObject
init()Initializes the object.yii\base\BaseObject
ConstantValueDescriptionDefined by
SAME_SITE_LAX'Lax'SameSite policy Lax will prevent the cookie from being sent by the browser in all cross-site browsing context during CSRF-prone request methods (e.g. POST, PUT, PATCH etc).Cookie
SAME_SITE_STRICT'Strict'SameSite policy Strict will prevent the cookie from being sent by the browser in all cross-site browsing context regardless of the request method and even when following a regular link.Cookie
SAME_SITE_NONE'None'SameSite policy None disables the SameSite policy so cookies will be sent in all contexts, i.e in responses to both first-party and cross-origin requests. Available since 2.0.43.Cookie
public int|string|DateTimeInterface|null $expire = 0

The timestamp or date at which the cookie expires.

This is the server timestamp. Defaults to 0, meaning “until the browser is closed” (the same applies to null).

public bool $httpOnly = true

Whether the cookie should be accessible only through the HTTP protocol.

By setting this property to true, the cookie will not be accessible by scripting languages, such as JavaScript, which can effectively help to reduce identity theft through XSS attacks.

public string $path = '/'

The path on the server in which the cookie will be available on.

The default is ’/’.

public string $sameSite = self::SAME_SITE_LAX

SameSite prevents the browser from sending this cookie along with cross-site requests.

See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite for more information about sameSite.

Since

2.0.21

public function __toString(): string

Magic method to turn a cookie object into a string without having to explicitly access $value.

if (isset($request->cookies['name'])) {
$value = (string) $request->cookies['name'];
}

Returns

string: The value of the cookie. If the value property is null, an empty string will be returned.