honzabrecka/transit-php

Transit for PHP.

0.8.5 2023-11-21 08:48 UTC

This package is auto-updated.

Last update: 2024-11-23 10:25:29 UTC


README

Transit is a data format and a set of libraries for conveying values between applications written in different languages. This library provides support for marshalling Transit data to/from PHP. Unlike the Java and Clojure implementations it relies on the non-streaming JSON parsing mechanism of the host PHP environment.

This implementation's major.minor version number corresponds to the version of the Transit specification it supports.

NOTE: Transit is a work in progress and may evolve based on feedback. As a result, while Transit is a great option for transferring data between applications, it should not yet be used for storing data durably over time. This recommendation will change when the specification is complete.

Installation

composer require honzabrecka/transit-php

Usage

use transit\JSONReader;
use transit\JSONWriter;
use transit\Transit;
use transit\Map;

$transit = new Transit(new JSONReader(), new JSONWriter());
$transit->read('["^ ","foo","bar"]');
$transit->write(new Map(['foo', 'bar']));

You can use assoc array instead of transit\Map. It comes with a price (string keys only), therefore it's disabled by default.

use transit\JSONReader;
use transit\JSONWriter;
use transit\Transit;

$transit = new Transit(new JSONReader(true), new JSONWriter(true));
$transit->read('["^ ","foo","bar"]');
$transit->write(['foo' => 'bar']);

Default Type Mapping