ensureStarted(); if (array_key_exists($key, $_SESSION)) { return $_SESSION[$key]; } return $default; } /** * Ajoute une information en Session * * @param string $key * @param $value * @return mixed */ public function set(string $key, $value): void { $this->ensureStarted(); $_SESSION[$key] = $value; } /** * Supprime une clef en session * @param string $key */ public function delete(string $key): void { $this->ensureStarted(); unset($_SESSION[$key]); } /** * Whether a offset exists * @link http://php.net/manual/en/arrayaccess.offsetexists.php * @param mixed $offset

* An offset to check for. *

* @return boolean true on success or false on failure. *

*

* The return value will be casted to boolean if non-boolean was returned. * @since 5.0.0 */ public function offsetExists($offset) { $this->ensureStarted(); return array_key_exists($offset, $_SESSION); } /** * Offset to retrieve * @link http://php.net/manual/en/arrayaccess.offsetget.php * @param mixed $offset

* The offset to retrieve. *

* @return mixed Can return all value types. * @since 5.0.0 */ public function offsetGet($offset) { return $this->get($offset); } /** * Offset to set * @link http://php.net/manual/en/arrayaccess.offsetset.php * @param mixed $offset

* The offset to assign the value to. *

* @param mixed $value

* The value to set. *

* @return void * @since 5.0.0 */ public function offsetSet($offset, $value) { return $this->set($offset, $value); } /** * Offset to unset * @link http://php.net/manual/en/arrayaccess.offsetunset.php * @param mixed $offset

* The offset to unset. *

* @return void * @since 5.0.0 */ public function offsetUnset($offset) { $this->delete($offset); } }