for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Bavix\Context;
class Cookies extends Container
{
/**
* @var Configure
*/
protected $configure;
* Cookie constructor.
*
* @param null|string $password
* @param Configure $configure
public function __construct(?string $password = null, Configure $configure = null)
parent::__construct($password);
$this->store = filter_input_array(INPUT_COOKIE, FILTER_UNSAFE_RAW) ?: [];
$this->configure = $this->load($configure);
}
* @return null|string
public function sessionId(): ?string
return $this->store['PHPSESSID'] ?? null;
* @return Configure
public function configure(): Configure
return $this->configure;
protected function load(?Configure $configure) : Configure
if (!$configure)
$configure = new Configure();
return $configure;
* @param string $name
* @param mixed $data
* @param Configure|null $configure
public function set(string $name, $data, Configure $configure = null): void
parent::set($name, $data);
$configure = $configure ?: $this->configure;
\setcookie($name, $this->store[$name], ...$configure->asArray());
$configure->asArray()
$expire
setcookie()
If this is a false-positive, you can also ignore this issue in your code via the ignore-type annotation
ignore-type
\setcookie($name, $this->store[$name], /** @scrutinizer ignore-type */ ...$configure->asArray());
public function remove(string $name): void
$this->set($name, '', $this->configure()->modify([
'expire' => 0
]));
parent::remove($name);