Prado\Web\UI\TPageStateFormatter::serialize PHP Метод

serialize() публичный статический Метод

public static serialize ( $page, $data ) : string
Результат string serialized data
    public static function serialize($page, $data)
    {
        $sm = $page->getApplication()->getSecurityManager();
        if ($page->getEnableStateValidation()) {
            $str = $sm->hashData(serialize($data));
        } else {
            $str = serialize($data);
        }
        if ($page->getEnableStateCompression() && extension_loaded('zlib')) {
            $str = gzcompress($str);
        }
        if ($page->getEnableStateEncryption()) {
            $str = $sm->encrypt($str);
        }
        return base64_encode($str);
    }

Usage Example

 /**
  * Saves state in session.
  * @param mixed state to be stored
  */
 public function save($state)
 {
     $session = $this->_page->getSession();
     $session->open();
     $data = serialize($state);
     $timestamp = (string) microtime(true);
     $key = self::STATE_SESSION_KEY . $timestamp;
     $session->add($key, $data);
     if (($queue = $session->itemAt(self::QUEUE_SESSION_KEY)) === null) {
         $queue = array();
     }
     $queue[] = $key;
     if (count($queue) > $this->getHistorySize()) {
         $expiredKey = array_shift($queue);
         $session->remove($expiredKey);
     }
     $session->add(self::QUEUE_SESSION_KEY, $queue);
     $this->_page->setClientState(TPageStateFormatter::serialize($this->_page, $timestamp));
 }
All Usage Examples Of Prado\Web\UI\TPageStateFormatter::serialize
TPageStateFormatter