php-dextrin

Dextrin

Table of Contents

Namespaces

Binary
Schema
Text
Value

Interfaces

HasOffset
Implemented by any exception that can report a byte/character offset into the source it failed on (lexer/parser errors) -- lets {@see DXNError::wrap()} preserve that offset without needing to know about every concrete exception class in the text/binary pipelines.

Classes

Dextrin
Public API entry point: `.dxn` text and `.dxnb` binary decode/ encode, plus `.dxns` schema-backed struct decoding and encode-time validation via an optional {@see Registry}.
DXNError
One exception type for every `dextrin` failure mode -- text-parse, printing, and (in later phases) binary/schema failures alike -- so a caller never has to special-case which pipeline produced it.
MapBuilder
Builds a DXN `map` as a bare PHP array -- shared by the text {@see \JOetjen\Dextrin\Text\Parser} and the binary {@see \JOetjen\Dextrin\Binary\Decoder}, since both need identical logic for the exact same reason: `map` is the one collection type this port decodes to bare native `array` rather than a wrapper class (see the project's own collections decision), and every PHP-array-key coercion hazard that follows from that applies equally regardless of which pipeline produced the raw key/value pairs.
Registry
Extension point for both `struct` and `custom-tag` decoding/encoding.
Schema
Public entry point for `.dxns` schema compilation and validation.
On this page

Search results