Как сделать протобуф десериализацию в PHP - PullRequest
1 голос
/ 16 сентября 2011

Я получаю ответ от сервера, который мне нужно десериализовать с помощью protobuf. Я узнал, что мне нужны файлы .proto, которые будут содержать определения.

Как я могу разобрать строку ответа и создать объекты PHP?

Обновление: Я пытался использовать доступную библиотеку (http://code.google.com/p/pb4php/), но она выдает исключение с сообщением «Protofile type uint64 unknown!». Есть идеи, как этого избежать?

Ответы [ 2 ]

1 голос
/ 16 сентября 2011

Вы должны скачать protobuf lib для php . Он поставляется с компилятором (генератором), который будет генерировать php классы из .proto для вас.

0 голосов
/ 07 октября 2011

Я заглянул в код библиотеки и обнаружил, что нет поддержки uint64.Теперь поле, которое я получаю как uint64 с сервера, - время истечения.Даже если я считаю 100 лет истечением, оно никогда не выйдет за пределы диапазона.Поэтому я связал uint64 с анализом типа данных int, и он работает нормально для меня.

Хотя это не хорошее решение и полностью зависит от личного использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...