serialize объектов

  • Автор темы Автор темы Tsep
  • Дата начала Дата начала

Tsep

Новичок
serialize объектов

упрощенно имеет нечто подобное:

PHP:
class shop_user{

  public $DB; //ADODB

  function __construct($DB){
    $this->DB = $DB;
  }

  function activePeriod(){
    $DB = $this->DB;
...
   $query = "SELECT....";
   $rs = $DB->SelectLimit($query, 1);
...


Далее где-то пишем:
PHP:
    $SHOP_USER = new shop_user($DB);
    $_SESSION[SHOP_USER] = serialize($SHOP_USER);

    $SHOP_USER = unserialize($_SESSION[SHOP_USER]);
    $SHOP_USER->activePeriod(); // - вот тут вываливается ошибка, будто он не видит $DB.

Причем echo $SHOP_USER->DB; Выдает нормальный ADODB_mysql Object.

PHP 5.1.2
register_globals = off
 
Пробовал и в одном и в разных.

Так:

Код:
$SHOP_USER = new shop_user($DB);
$SHOP_USER->activePeriod();

до сериализации все работает
 
Tsep
А как ты думаешь PHP сможет сериализовать коннект к базе?
 
не знаю, думал что может. Ведь после сериализации

echo $SHOP_USER->DB; Выдает ADODB_mysql Object.


Как тогда в данном случае хранить коннект к базе?
 
> Как тогда в данном случае хранить коннект к базе?
Никак. Коннектиться по необходимости.
 
То так?
Код:
 function activePeriod(){ 
    global $DB; 
... 
   $query = "SELECT...."; 
   $rs = $DB->SelectLimit($query, 1); 
...
 
Сверху