yf_cookie class

YF Helper for cookies.

Fileplugins/sys/classes/yf_cookie.class.php
Use_class('cookie')

Public properties

A site sets them in its config with $PROJECT_CONF['cookie']['NAME'] = ...;

PropertyDefaultDescription
$DOMAIN
string
''
$EXPIRE
string
0
$HTTPONLY
string
false
$PATH
string
'/'
$SECURE
string
false

Public methods 5

del

public function del($name, $expire = 0, $path = null, $domain = null, $secure = null, $httponly = null, $params = [])
    public function del($name, $expire = 0, $path = null, $domain = null, $secure = null, $httponly = null, $params = [])
    {
        return $this->set($name, '', $expire, $path, $domain, $secure, $httponly, $params);
    }

get

public function get($name)
    public function get($name)
    {
        return $_COOKIE[$name] ?? null;
    }

set

public function set($name, $value = '', $expire = 0, $path = null, $domain = null, $secure = null, $httponly = null, $params = [])
    public function set($name, $value = '', $expire = 0, $path = null, $domain = null, $secure = null, $httponly = null, $params = [])
    {
        if (is_array($expire)) {
            $params = (array) $params + $expire;
            $expire = null;
        }
        $expire = isset($params['expire']) ? $params['expire'] : (isset($expire) ? $expire : $this->EXPIRE);
        $path = isset($params['path']) ? $params['path'] : (isset($path) ? $path : $this->PATH);
        $domain = isset($params['domain']) ? $params['domain'] : (isset($domain) ? $domain : $this->DOMAIN);
        $secure = isset($params['secure']) ? $params['secure'] : (isset($secure) ? $secure : $this->SECURE);
        $httponly = isset($params['httponly']) ? $params['httponly'] : (isset($httponly) ? $httponly : $this->HTTPONLY);
        return setcookie($name, $value, $expire, $path, $domain, $secure, $httponly);
    }

Methods starting with _ hooks and helpers; not routable as page actions

__call

public function __call($name, $args)

Catch missing method call.

    public function __call($name, $args)
    {
        return main()->extend_call($this, $name, $args);
    }

_init

public function _init()
    public function _init()
    {
        $main = main();
        // Import cookie settings from main class, but prefixed with "COOKIE_"
        $prefix = 'COOKIE_';
        $plen = strlen($prefix);
        foreach ($main as $k => $v) {
            if (substr($k, 0, $plen) !== $plen) {
                continue;
            }
            $name = substr($k, $plen);
            $this->$name = $v;
        }
    }