serialize объектов

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
 

Tsep

Новичок
Пробовал и в одном и в разных.

Так:

Код:
$SHOP_USER = new shop_user($DB);
$SHOP_USER->activePeriod();
до сериализации все работает
 

svetasmirnova

маленький монстрик
Tsep
А как ты думаешь PHP сможет сериализовать коннект к базе?
 

Tsep

Новичок
не знаю, думал что может. Ведь после сериализации

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


Как тогда в данном случае хранить коннект к базе?
 

SiMM

Новичок
> Как тогда в данном случае хранить коннект к базе?
Никак. Коннектиться по необходимости.
 

Tsep

Новичок
То так?
Код:
 function activePeriod(){ 
    global $DB; 
... 
   $query = "SELECT...."; 
   $rs = $DB->SelectLimit($query, 1); 
...
 
Сверху