126 lines
2.4 KiB
PHP
126 lines
2.4 KiB
PHP
<?php
|
|
|
|
/**
|
|
* This file is part of the CodeIgniter 4 framework.
|
|
*
|
|
* (c) CodeIgniter Foundation <admin@codeigniter.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace CodeIgniter\Cookie;
|
|
|
|
use DateTimeInterface;
|
|
|
|
/**
|
|
* Interface for a fresh Cookie instance with selected attribute(s)
|
|
* only changed from the original instance.
|
|
*/
|
|
interface CloneableCookieInterface extends CookieInterface
|
|
{
|
|
/**
|
|
* Creates a new Cookie with a new cookie prefix.
|
|
*
|
|
* @param string $prefix
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withPrefix(string $prefix = '');
|
|
|
|
/**
|
|
* Creates a new Cookie with a new name.
|
|
*
|
|
* @param string $name
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withName(string $name);
|
|
|
|
/**
|
|
* Creates a new Cookie with new value.
|
|
*
|
|
* @param string $value
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withValue(string $value);
|
|
|
|
/**
|
|
* Creates a new Cookie with a new cookie expires time.
|
|
*
|
|
* @param DateTimeInterface|integer|string $expires
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withExpires($expires);
|
|
|
|
/**
|
|
* Creates a new Cookie that will expire the cookie from the browser.
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withExpired();
|
|
|
|
/**
|
|
* Creates a new Cookie that will virtually never expire from the browser.
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withNeverExpiring();
|
|
|
|
/**
|
|
* Creates a new Cookie with a new path on the server the cookie is available.
|
|
*
|
|
* @param string|null $path
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withPath(?string $path);
|
|
|
|
/**
|
|
* Creates a new Cookie with a new domain the cookie is available.
|
|
*
|
|
* @param string|null $domain
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withDomain(?string $domain);
|
|
|
|
/**
|
|
* Creates a new Cookie with a new "Secure" attribute.
|
|
*
|
|
* @param boolean $secure
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withSecure(bool $secure = true);
|
|
|
|
/**
|
|
* Creates a new Cookie with a new "HttpOnly" attribute
|
|
*
|
|
* @param boolean $httponly
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withHTTPOnly(bool $httponly = true);
|
|
|
|
/**
|
|
* Creates a new Cookie with a new "SameSite" attribute.
|
|
*
|
|
* @param string $samesite
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withSameSite(string $samesite);
|
|
|
|
/**
|
|
* Creates a new Cookie with URL encoding option updated.
|
|
*
|
|
* @param boolean $raw
|
|
*
|
|
* @return static
|
|
*/
|
|
public function withRaw(bool $raw = true);
|
|
}
|