Могу ли я напрямую сериализовать в файл, используя благотворительную библиотеку PHP? - PullRequest
2 голосов
/ 14 декабря 2011

Похожие: Apache Thrift: Сериализация данных

Привет, ребята: я отмечаю, что в Thrift-расширениях PHP отсутствует класс TFileTransport. Это заставляет меня задуматься: каков механизм записи экономичного объекта в FILE в PHP?

К сожалению, доступная документация сфокусирована на модели клиент / сервер для использования Thrift: но мне нужно использовать PHP для сериализации двоичных файлов Thrift на диске, которые содержат поток объектов Thrift.

1 Ответ

1 голос
/ 14 декабря 2011

Попробуйте расширить TPhpStream, переопределив:

private static function inStreamName() {
    if (php_sapi_name() == 'cli') {
      return 'php://stdin';
    }
    return 'php://input';   }

и вам, вероятно, также потребуется изменить метод open, чтобы открыть файл записи по вашему выбору. Если вам это нужно, вот хороший учебник о потоках php.

Если это не сработает, рассмотрите возможность использования TMemoryBuffer для сериализации в строку, и тогда вы найдете способ поместить это в файл.

...