Вопрос

Сериализованная переменная не сохраняет свое состояние от расширенных классов.

У меня есть класс, вызываемый напрямую откуда-то, который принимает сериализованную переменную:

class Main extends Admin {
function __construct($serialized){
    parent::__construct($serialized);
}

.... (omitted)
}  

class Admin extends Page{
    var $pageargs;

function __construct($should_still_be_serialized_form){
    $this->pageargs = unserialize($should_still_be_serialized_form); }}

В административном классе я получаю сообщение об ошибке: unserialize () ожидает, что параметр 1 будет строкой, а массив задан в (файле класса администратора) ...

Это способ, которым php обрабатывает наследование? или что-то не так с моим кодом?

Это было полезно?

Решение

Кажется, что $ should_still_be_serialized_form является массивом, а не сериализованной строкой. Проверьте, передали ли вы правильный параметр - print_r ($ should_still_be_serialized_form).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top