Cookie
API reference › yii › web › Cookie
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.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$domain | string | Domain of the cookie Default: ''. | Cookie |
$expire | int|DateTimeInterface| | The timestamp or date at which the cookie expires. Default: 0. | Cookie |
$httpOnly | bool | Whether the cookie should be accessible only through the HTTP protocol. Default: true. | Cookie |
$name | string | Name of the cookie Default: null. | Cookie |
$path | string | The path on the server in which the cookie will be available on. Default: '/'. | Cookie |
$sameSite | string | SameSite prevents the browser from sending this cookie along with cross-site requests. Default: self::SAME_SITE_LAX. Available since 2.0.21. | Cookie |
$secure | bool | Whether cookie should be sent via secure connection Default: false. | Cookie |
$value | string | Value of the cookie Default: ''. | Cookie |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__get() | Returns the value of an object property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets value of an object property. | yii\ |
__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\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
className() static | Returns the fully qualified name of this class. | yii\ |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined. | yii\ |
init() | Initializes the object. | yii\ |
Constants
Section titled “Constants”| Constant | Value | Description | Defined 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 |
Property details
Section titled “Property details”$expire
Section titled “$expire ”public int|string|DateTimeInterface|null $expire = 0The 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).
$httpOnly
Section titled “$httpOnly ”public bool $httpOnly = trueWhether 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.
$path
Section titled “$path ”public string $path = '/'The path on the server in which the cookie will be available on.
The default is ’/’.
$sameSite
Section titled “$sameSite ”public string $sameSite = self::SAME_SITE_LAXSameSite 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
Method details
Section titled “Method details”__toString()
Section titled “__toString() ”public function __toString(): stringMagic 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.