PHP extension wrapping amzn/ion-c. See the Amazon ION specification.
BSD-2-Clause; see spdx.org.
phpize
./configure
make # -j$(nproc)
sudo make install # INSTALL=install
docker build -t php-ion
docker run --rm php-ion -r 'echo ion\serialize(ion\Symbol\Table\PHP());'
See ion.stub.php.
Due to private internal state of ion-c's readers and writers, instances of the following PHP classes cannot be cloned:
Serialize a PHP value as ION data.
string ion\serialize(mixed $data, [?ion\Serializer $serializer = NULL])
Unserialize ION data (stream) as PHP value(s).
mixed ion\unserialize(string|resource $data, [?ion\Unserializer $unserializer = NULL])
The Catalog holds a collection of ion\Symbol\Table instances queried from ion\Reader and ion\Writer instances.
class ion\Catalog implements Countable
An arbitrary precision fixed point decimal.
class ion\Decimal implements Stringable
Base exception for the ION extension.
class ion\Exception extends Exception implements Stringable, Throwable
A large object.
class ion\LOB
ION reader API.
interface ion\Reader implements Iterator, RecursiveIterator, Traversable
Serializer interface, used to customize ion\serialize()'s behavior.
interface ion\Serializer
class ion\Symbol implements Stringable
An ION Timestamp.
class ion\Timestamp extends DateTime implements DateTimeInterface, Stringable
ION data type.
enum ion\Type implements BackedEnum, UnitEnum
Unserializer interface, used to customize ion\unserialize()'s behavior.
interface ion\Unserializer
ION writer API.
interface ion\Writer