Я делаю что-то глупое. Я сохраняю сложный объект в куки:
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)
Большое спасибо.
Задача ещё не решена.
Других решений пока нет …