/** * Set data encoder * * @param Encoder|string $encoder * * @return $this */ public function setEncoder($encoder) { if (!$encoder instanceof Encoder) { $encoder = Encoder::create($encoder); } $this->encoder = $encoder; return $this; }
/** * Set metadata * * @param mixed $key Data key * @param mixed $value Data value * * @return $this */ public function setMetadata($key, $value) { $data = $this->metadata->getValue(); $metadata = $this->encoder->decode($data); $metadata[$key] = $value; $data = $this->encoder->encode($metadata); $this->metadata->setValue($data); return $this; }
/** * Encode user value to be stored in session * * @param mixed $user * * @return string */ protected function sleepUser($user) { $data = $this->encoder->encode($user); return $data; }