mathRandom = $mathRandom; $this->session = $session; $this->escaper = $escaper; } /** * Retrieve Session Form Key * * @return string A 16 bit unique key for forms */ public function getFormKey() { if (!$this->isPresent()) { $this->set($this->mathRandom->getRandomString(16)); } return $this->escaper->escapeHtmlAttr($this->session->getData(self::FORM_KEY)); } /** * @return bool */ public function isPresent() { return (bool)$this->session->getData(self::FORM_KEY); } /** * @param string $value * @return void */ public function set($value) { $this->session->setData(self::FORM_KEY, $value); } }