Nette\Http\Session::regenerateId PHP Method

regenerateId() public method

Regenerates the session ID.
public regenerateId ( ) : void
return void
    public function regenerateId()
    {
        if (self::$started && !$this->regenerated) {
            if (headers_sent($file, $line)) {
                throw new Nette\InvalidStateException('Cannot regenerate session ID after HTTP headers have been sent' . ($file ? " (output started at {$file}:{$line})." : '.'));
            }
            if (session_status() === PHP_SESSION_ACTIVE) {
                session_regenerate_id(TRUE);
                session_write_close();
            }
            $backup = $_SESSION;
            session_start();
            $_SESSION = $backup;
        }
        $this->regenerated = TRUE;
    }

Usage Example

Example #1
0
 /**
  * Returns and initializes $this->sessionSection.
  * @return Nette\Http\SessionSection
  */
 protected function getSessionSection($need)
 {
     $ret = parent::getSessionSection($need);
     if (!is_null($ret)) {
         if ($ret->authenticated && $ret->identity->browser !== $this->browser->getName() && $ret->identity->browserVersion !== $this->browser->getVersion()) {
             $ret->authenticated = FALSE;
             $this->sessionHandler->regenerateId();
             $ret->reason = static::MANUAL;
             $ret->authTime = NULL;
         }
     }
     return $ret;
 }
All Usage Examples Of Nette\Http\Session::regenerateId