куки — не в состоянии десериализовать сложное переполнение стека объектов

Я делаю что-то глупое. Я сохраняю сложный объект в куки:

class CocheDTO
{
private $marca;
private $enlace;
private $modelo;
private $motor;
private $combustible;
private $cc;
//With getters and setters
}

Я использую метод Serialize отправить куки с сериализованным сложным объектом:

 $this->cookiesManager->crearCookie("coche",serialize($coche),30);

Проблема, с которой я столкнулся, заключается в том, что я не могу «преобразовать» сериализованный файл cookie в объектный файл cookie. Я сделал это с Java, но я думаю, что язык программирования со строгой типизацией помогает.

Это способ, которым я пытаюсь десериализовать (который я знаю, что это невозможно, но я не уверен, как «проанализировать» все атрибуты класса.

unserialize($this->cookiesManager->obtenerCookie($nombreCookie));

Не уверен, смогу ли я сделать это с помощью PHP. Я прочитал кое-что об использовании __wakeup, но не уверен, как его использовать или как получить доступ к сериализованным данным.


В настоящее время у меня есть эта ошибка:

Ловимая фатальная ошибка:
Объект класса CocheDTO не может быть преобразован в строку

Я знаю, что это может не иметь большого смысла, потому что я пытаюсь сериализовать и снова прочитать его в PHP (без использования BD) и не использую JSON или xml для сериализации и чтения из js, я просто хочу сериализовать и десериализовать используя методы PHP и только из PHP.

Результат сериализации эха ($ coche)

1O: 8: «CocheDTO»: 6: {s: 15: «CocheDTOmarca»; s: 4: «место»; s: 16: «CocheDTOenlace», N; s: 16: «CocheDTOmodelo»; s: 5:» IBIZA «; s: 15:» CocheDTOmotor «; s: 4:» 4080 «; s: 21:» CocheDTOcombustible «; s: 8:» Gasolina «; s: 12:» CocheDTOcc «; s: 3:» 110″ ;}

Результат эха var_dump ($ coche)

> object(CocheDTO)[4]   private 'marca' => string 'SEAT' (length=4)
> private 'enlace' => null   private 'modelo' => string 'IBIZA'
> (length=5)   private 'motor' => string '4080' (length=4)   private
> 'combustible' => string 'gasolina' (length=8)   private 'cc' => string
> '110' (length=3)

Большое спасибо.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]