Skip to content
Snippets Groups Projects
Cookie.php 3.43 KiB
Newer Older
  • Learn to ignore specific revisions
  • namespace Config;
    
    use CodeIgniter\Config\BaseConfig;
    use DateTimeInterface;
    
    class Cookie extends BaseConfig
    {
        /**
         * --------------------------------------------------------------------------
         * Cookie Prefix
         * --------------------------------------------------------------------------
         *
         * Set a cookie name prefix if you need to avoid collisions.
         */
    
    
        /**
         * --------------------------------------------------------------------------
         * Cookie Expires Timestamp
         * --------------------------------------------------------------------------
         *
         * Default expires timestamp for cookies. Setting this to `0` will mean the
         * cookie will not have the `Expires` attribute and will behave as a session
         * cookie.
         */
    
        public DateTimeInterface | int | string $expires = 0;
    
    
        /**
         * --------------------------------------------------------------------------
         * Cookie Path
         * --------------------------------------------------------------------------
         *
         * Typically will be a forward slash.
         */
    
    
        /**
         * --------------------------------------------------------------------------
         * Cookie Domain
         * --------------------------------------------------------------------------
         *
         * Set to `.your-domain.com` for site-wide cookies.
         */
    
    
        /**
         * --------------------------------------------------------------------------
         * Cookie Secure
         * --------------------------------------------------------------------------
         *
         * Cookie will only be set if a secure HTTPS connection exists.
         */
    
    
        /**
         * --------------------------------------------------------------------------
         * Cookie HTTPOnly
         * --------------------------------------------------------------------------
         *
         * Cookie will only be accessible via HTTP(S) (no JavaScript).
         */
    
    
        /**
         * --------------------------------------------------------------------------
         * Cookie SameSite
         * --------------------------------------------------------------------------
         *
         * Configure cookie SameSite setting. Allowed values are:
         * - None
         * - Lax
         * - Strict
         * - ''
         *
         * Alternatively, you can use the constant names:
         * - `Cookie::SAMESITE_NONE`
         * - `Cookie::SAMESITE_LAX`
         * - `Cookie::SAMESITE_STRICT`
         *
         * Defaults to `Lax` for compatibility with modern browsers. Setting `''`
         * (empty string) means default SameSite attribute set by browsers (`Lax`)
         * will be set on cookies. If set to `None`, `$secure` must also be set.
         */
    
    
        /**
         * --------------------------------------------------------------------------
         * Cookie Raw
         * --------------------------------------------------------------------------
         *
         * This flag allows setting a "raw" cookie, i.e., its name and value are
         * not URL encoded using `rawurlencode()`.
         *
         * If this is set to `true`, cookie names should be compliant of RFC 2616's
         * list of allowed characters.
         *
         * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#attributes
         * @see https://tools.ietf.org/html/rfc2616#section-2.2
         */