Инструменты пользователя

Инструменты сайта


limb3_2007_2:ru:packages:classkit:lmb_serializable

lmbSerializable

lmbSerializable используется для сериализации и десериализации объектов. Преимуществом использования именно этого класса заключается в том, что он сам заботится о включении всех файлов классов, которые используются в сериализованных объекте, еще до десериализации этих объектов.

lmbSerializable применяется следующим образом:

  1. объект, который требует сериализации, необходимо обернуть в объект класса lmbSerializable
  2. при десериализации нужно вызвать метод getSubject у объекта класса lmbSerializable

lmbSerializable используется активно в пакете SESSION в классе lmbSession.

Пример:

class lmbSession 
{
  [...]
  function set($name, $value)
  {
    if(is_object($value))
      $_SESSION[$name] = new lmbSerializable($value);
    else
      $_SESSION[$name] = $value;
 
    $this->touched_names[$name] = true;
  }
 
  function get($name, $empty_value = null)
  {
    if(!isset($_SESSION[$name]))
      return $empty_value;
 
    if(is_object($_SESSION[$name]) && $_SESSION[$name] instanceof lmbSerializable)
      return $_SESSION[$name]->getSubject();
    else
      return $_SESSION[$name];
  }
  [...]
}

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   ___    __  ___   ____   ____   __  ___
  / _ \  /  |/  /  /  _/  / __/  /  |/  /
 / // / / /|_/ /  _/ /   / _/   / /|_/ / 
/____/ /_/  /_/  /___/  /_/    /_/  /_/
 
limb3_2007_2/ru/packages/classkit/lmb_serializable.txt · Последнее изменение: 2010/11/10 10:02 — 127.0.0.1